win7+iis7.5+vs2010 错误代码 0x80070002

HT TP 错误 404.0 - Not Found

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


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


可尝试的操作:
在 Web 服务器上创建内容。
检查浏览器 URL。
创建跟踪规则以跟踪此 HTTP 状态代码的失败请求,并查看是哪个模块在调用 Set Status。有关为失败的请求创建跟踪规则的详细信息,请单击此处。
链接和更多信息
此错误表明文件或目录在服务器上不存在。请创建文件或目录并重新尝试请求。

我的解决方案如下:

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

可执行文件中填写(根据自己安装路径):C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 名称自定义。

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

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


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

<add name="12345" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness32" />

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


最近又出现一个一样的问题,ajax以 *.aspx/methodName的方式请求出现同一个错误,后来发现是应用程序池全都是4.0经典,而处理程序映射中没有对应4.0的aspx的脚本映射导致。

同上,增加脚本映射和通配符脚本映射可以解决该问题。


解决方案链接:http://www.cnblogs.com/paulxie/archive/2013/06/08/3127234.html


你可能感兴趣的:(win7+iis,7.5+vs2010)