在iis 7.0上运行.net framework 4.0网站时出现问题

pra*_*tel 119 asp.net iis-7 cgi .net-4.0 isapi

嘿,我在运行.NET framework 4.0网站时遇到了问题IIS7.0.我得到的错误是:

HTTP错误404.2 - 未找到"由于Web服务器上的ISAPICGI限制列表设置,无法提供您请求的页面".

Module : IsapiModule , 
Notification : ExecuteRequestHandler, 
Handler : PageHandlerFactory-ISAPI-4.0_32bit , 
Error Code : 0x800704ec
Run Code Online (Sandbox Code Playgroud)

小智 289

转到IIS管理器,然后单击服务器名称.然后单击IIS标头下的"ISAPI和CGI限制"图标.将ASP.NET 4.0从"不允许"更改为"允许".

  • 强调:单击"服务器名称"而不是"站点名称"以查找该选项 (44认同)
  • @MacGyver为队友欢呼,那让我很头疼. (2认同)
  • 实际上,我什至没有 CGI 选项。我使用的是 Windows 7、64 位。试图让 ssrs 工作。 (2认同)
  • 确保以管理员身份启动IIS :) (2认同)

tod*_*dmo 8

如果您查看ISAPI和CGI限制,并且所有内容都已设置为" 允许",请确保ASP.NET v4.0.30319处理程序甚至位于列表中.在我的情况下,他们不是.这很容易被忽视.


我添加了一个32 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll位,另一个64位%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll.你可以将它们命名为相同ASP.NET v4.0.30319.

选中允许执行扩展路径.


小智 6

  1. 转到IIS管理器.
  2. 打开服务器名称就像(PC-Name)\.
  3. 然后双击ISAPI和CGI限制.
  4. 然后选择ASP.NET v4.0.30319(32位)允许限制.


Dav*_*ino 6

在我的情况下,问题更严重:原来asp.net没有正确注册.

这种反应很好.

只需在命令提示符下运行以下命令即可

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Run Code Online (Sandbox Code Playgroud)

如果我使用32位系统,它将如下所示:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
Run Code Online (Sandbox Code Playgroud)