[解决方案]Window 2008 R2 + IIS7.5 + VS2013 错误代码 0x80070002

HTTP 错误 404.0 - Not Found

您要找的资源已被删除、已更名或暂时不可用。
详细错误信息
模块 IIS Web Core
通知 MapRequest Handler
处理程序 Static File
错误代码 0x80070002
请求的 URL ***
物理路径 ***


登录方法 匿名
登录用户 匿名
最可能的原因:
指定的目录或文件在 Web 服务器上不存在。
URL 拼写错误。
某个自定义筛选器或模块(如 URL Scan)限制了对该文件的访问。

/*** 曾经尝试的方法(此方法无效) ***/

inetmgr  打开iis,点击根节点,在iis栏目中找到【处理程序映射】,双击打开,右键新增一个【添加通配符脚本映射】

可执行文件中填写(根据自己安装路径):C:WindowsMicrosoft.NETFrameworkv4.0.30319aspnet_isapi.dll    名称自定义。

然后查看应用程序,对应的【处理程序映射】中会增加一个同名的通配符脚本映射,区别在于,iis根节点的条目类型是【本地】,应用程序的是【继承】

至此,我的问题就解决了。不知道大家有没遇到这种问题,又是如何解决的。估计是win7+iis7.5省略了这个通配符脚本映射,因为使用iis7之前的版本是没这个问题的。

另外,如果只在应用程序添加该映射也是可以的,它会自动在应用程序的web.config中,<system.webServer> <handlers>下边增加一个节点

<add name="12345" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:WindowsMicrosoft.NETFrameworkv4.0.30319aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" />

这样也是可以解决这个问题。

/*** ***/

解决方案(针对web.config配置文件):

原来报错时的配置

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%Microsoft.NETFramework64v4.0.30319aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>

更改后的配置

<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

问题解决,希望大家共勉!

关注公众号,提出您的问题,我们会解决您的问题哟!

公众号:sxmljs

[解决方案]Window 2008 R2 + IIS7.5 + VS2013 错误代码 0x80070002