在iis 7.0上运行.net framework 4.0网站的问题

嘿,我有问题在IIS7.0上运行.NET framework 4.0网站。 我得到的错误是:

HTTP错误404.2 – 未find“由于Web服务器上的ISAPICGI限制列表设置,无法为您请求的页面提供服务”。

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

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

如果您查看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

选中允许执行扩展path

在我的情况下,问题更严重:事实certificateasp.net没有正确注册。

这个响应工作正常 。

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

 %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i 

如果我使用的是32位系统,那么看起来应该是这样的:

 %windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i 
  1. 转到IISpipe理器。
  2. (PC-Name)\打开服务器名称。
  3. 然后双击ISAPI和CGI限制。
  4. 然后selectASP.NET v4.0.30319(32位)允许的限制。

步骤1:打开IIS并单击服务器名称步骤2.双击“ISAPI和CGI限制”步骤3.右键单击ASP.NET v4.0.30319并select“允许”

停止并启动万维网发布服务后

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

Pramesh

如果您正在运行Delphi或其他本机编译的CGI,则此解决scheme将工作:

  1. 和其他人一样,进入IISpipe理器并点击服务器名称。 然后单击IIS标题下的“ISAPI和CGI限制”图标。

  2. 如果你有一切允许,它将仍然无法正常工作。 您需要单击动作(右侧)中的“编辑function设置”,然后分别选中“允许未指定的CGI模块”或“允许未指定的ISAPI模块”。

  3. 点击OK

尝试将AppPool Manged Pipeline Mode从“集成”更改为“Classic”。

在我们的例子中,这个问题的解决scheme并没有涉及“ISAPI和CGI限制”设置。 操作人员将服务器升级到.NET 4.5后,错误开始发生,然后再次降级到.NET 4.0。 这导致一些IIS网站忘记了各自正确的应用程序池,并导致一些应用程序池从.NET Framework 4.0切换到2.0。 更改这些设置可解决问题。

根据应用程序的types,要检查的另一件事是在应用程序池的高级设置下确保“启用32位应用程序”设置为True。

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

如果您没有列出ISAPI和CGI限制选项,请按以下方法添加。 如何添加ISAPI和CGI限制

在这里输入图像说明

应用程序映射后,请按照下列步骤

打开IIS单击应用程序池双击网站更改pipe理pipe道模式为“经典”单击确定。

Ow将.Net Framework版本更改为更低版本

然后点击确定