我在Win Server 2k8下的IIS 7上设置了一个新的.net 2.0网站,当浏览到某个页面时,它给出了404.17错误,声称该文件(在这种情况下为default.aspx)似乎是一个脚本但是由静态文件处理程序处理。它的声音就像ASP.Net的模块映射搞砸了,但它们在配置中看起来很好。有没有人建议纠正这个错误?
答案 0 :(得分:27)
我曾经在IIS6上遇到过这样的问题,当时某种程度上ASP.NET ISAPI的内容已经破坏了。
正在运行
%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
重新创建设置,处理它。
答案 1 :(得分:11)
这个解决方案对我有用......(我有aspnet_regiis.exe -i做了一些破坏)
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
答案 2 :(得分:6)
对我来说,它通过以下方式起作用
安装ASP.NET
cd %windir%\Microsoft.NET\Framework64/v4.0.30319
aspnet_regiis.exe -i
希望它对你有用..
答案 3 :(得分:4)
对我来说,我的问题是因为我的项目的web.config文件中的设置(以及解决方案,一旦我理解了问题)。
在我的web.config文件中,我们在 system.webServer>中有这两行。处理程序区域:
<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更改为使用集成而不是经典进行管道模式设置(这与上述解决方案相反)告诉我要这样做。
答案 4 :(得分:4)
首先在Handler Mappings中尝试“Revert to Parent”。
尝试在IIS 7.5中运行ASP.NET 4.0时,我得到了404.17。我尝试了以上所有内容,最终手动设置了正确的Handler Mappings,错误消失了。
然后,在另一个具有相同错误的网站上,我在Handler Mappings中尝试了“Revert to Parent”,并添加了6 * .aspx映射,一切都运行良好。
显然,您必须正确配置父设备(从安装或其他方式),但这绝对是每个人都应该采取的第一步,因为它很容易。
答案 5 :(得分:3)
对我来说,解决方案是从虚拟应用程序下的处理程序映射部分单击“从继承中恢复”。
答案 6 :(得分:1)
到目前为止,这些解决方案都没有对我有用。
我找到了一些其他可能的解决方案(对我来说不起作用):
答案 7 :(得分:1)
只有一种方法可以解决这个问题...
首次安装Windows7 然后安装具有所有功能的IIS 7
然后安装Visual Studio 2008/2010
我在视觉工作室2008和2010工作,但我之前从未见过这个错误。
我也可以试试我朋友的电脑。而且我也解决了这个错误。
答案 8 :(得分:1)
对我而言,通过将32位应用程序设置为true来解决此问题。
答案 9 :(得分:0)
以上情况并非适用于我。 我们的服务器是64位,因此将应用程序设置为允许32位应用程序为我们工作:
我认为这是因为Web应用程序仅编译为32位。
答案 10 :(得分:0)
%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i
得到后,为我工作 “试图加载格式不正确的程序......” 使用32框架
也许病了,再一次用谷歌搜索
答案 11 :(得分:0)
对我来说,this有效。安装机器配置部分,处理程序,程序集,模块,协议以及许多其他正常工作的东西。
答案 12 :(得分:0)
对我而言,未在服务器功能中检查HTTP激活。
答案 13 :(得分:0)
We needed to install ASP.NET 3.5 and 4.5, ISAPI Extensions, ISAPI Filters and Server Side Includes, in the Windows Features menu under IIS Development Features.
Alternatively, do with the command line DISM:
Dism /online /enable-feature /featurename:NetFx3 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:NetFx4 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIExtensions /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIFilter /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ServerSideIncludes /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
答案 14 :(得分:0)
WCF服务下的http激活依次打开/关闭Windows功能解决了这个问题。
答案 15 :(得分:0)
就我而言,上述答案都没有解决问题,原因是未安装CGI模块。
为了解决这个问题,我遵循了这些说明。
https://docs.microsoft.com/en-us/iis/configuration/system.webserver/cgi