如何修复Win Server 2k8和IIS7上的404.17错误

时间:2020-03-05 18:59:53  来源:igfitidea点击:

我在Win Server 2k8下的IIS 7上建立了一个新的.net 2.0网站,浏览页面时出现404.17错误,声称该文件(在这种情况下为default.aspx)似乎是一个脚本,但正在由静态文件处理程序处理。听起来很像ASP.Net的模块映射,但是它们在配置中看起来不错。有没有人建议纠正此错误?

解决方案

回答

一次我以某种方式在IIS6上遇到了这个问题,当时ASP.NET ISAPI的内容被破坏了。

跑步

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

重新创建设置就好了。

回答

该解决方案对我有用...(我有aspnet_regiis.exe-我造成了一些损害)

http://forums.iis.net/t/1157725.aspx

1. Locate your App Pool and Right Click
2. Select Basic Settings
3. Select your current .Net Framework Version
4.Restart the App Pool

回答

到目前为止,这些解决方案都没有对我有用。

我发现了其他一些可能的解决方案(对我不起作用):

  • http://first-reboot.blogspot.com/2009/12/error-40417-opening-asmx-page.html
  • http://forums.asp.net/p/1432329/3219236.aspx

回答

对我来说,我的问题是由于项目的web.config文件中的设置(一旦理解了问题,还有解决方案)。

在我的web.config文件中,在system.webServer> handlers区域中有这两行:

<remove name="WebServiceHandlerFactory-ISAPI-2.0" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

请注意,备用处理程序具有属性'preCondition =" integratedMode"'。因此,我必须更改AppPool以在管道模式设置中使用Integrated而不是Classic(这与上述解决方案告诉我的做法相反)。

回答

解决这个问题的唯一方法...

首次安装Windows7
然后安装具有所有功能的IIS 7

然后安装Visual Studio 2008/2010

我在Visual Studio 2008和2010上工作,但之前从未见过此错误。

我也可以尝试在朋友的PC上使用。而且我也解决了这个错误。