在 iis7.0上运行.net 框架4.0网站的问题

嘿,我有问题在运行 .NET framework 4.0网站上的 IIS7.0。 the error I got is like:

HTTP Error 404.2 -Not Found HTTP Error 404.2 -Not Found“由于 Web 服务器上的 ISAPICGI限制列表设置,无法为您请求的页面提供服务”。

Module : IsapiModule ,
Notification : ExecuteRequestHandler,
Handler : PageHandlerFactory-ISAPI-4.0_32bit ,
Error Code : 0x800704ec
113283 次浏览

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

Try changing the AppPool Manged Pipeline Mode from "Integration" to "Classic".

映射 Application 之后,请遵循以下步骤

打开 IIS 点击应用程序池 双击网站 将 Manage 管道模式更改为“经典” 点击确定。

从.Net Framework 版本到较低版本

然后点击 OK

如果您查看 ISAPI 和 CGI 限制,并且所有内容都已经设置为 允许,那么请确保 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

检查 允许执行扩展路径

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

如果您正在运行 Delphi 或其他本地编译的 CGI,这个解决方案将工作:

  1. 正如其他人指出的那样,转到 IIS 管理器并单击服务器名称。然后单击 IIS 标头下的“ ISAPI 和 CGI 限制”图标。

  2. 如果你有一切允许,它仍然不会工作。您需要点击“编辑功能设置”在动作(在右侧) ,并检查“允许未指定的 CGI 模块”,或“允许未指定的 ISAPI 模块”分别。

  3. 单击 OK

步骤1: 打开 IIS 并单击服务器名称 双击“ ISAPI 和 CGI 限制” 步骤3。右键单击 ASP.NET v4.0.30319并选择“ allow”

之后 万维网出版服务的停止和启动

1. 开始 > 所有程序 > 管理工具 > 服务。 2.在服务列表中,右键单击“万维网发布服务”,然后单击“停止”(停止服务)、“启动”(停止服务后启动服务)或“重新启动”(在服务运行时重新启动服务)。

普拉梅什

在我们的示例中,这个问题的解决方案不涉及“ ISAPI 和 CGI 限制”设置。操作人员将服务器升级到。NET 4.5,然后下调至。NET 4.0.这导致一些 IIS 网站忘记了它们各自正确的应用程序池,并导致一些应用程序池从。NET Framework 4.0到2.0。将这些设置改回原来的设置修复了这个问题。

根据应用程序的类型,还需要检查应用程序池的高级设置,确保“ Enable 32-Bit Applications”设置为 True。

当我有这个问题时,我已经检查了这个线程中的所有内容,但是所有内容都已经被正确设置,我发现这是我的问题。

如果您没有列出 ISAPI 和 CGI 限制选项,以下是如何添加它

enter image description here

如果你查看 ISAPI 和 CGI 限制,一切都已经设置为允许,并且安装的 ASP.NET 是 V4.0.30319,然后在右边的“ 行动”面板上点击“ 编辑特性设置..。”并且选中这两个框。对我来说,他们不是。