【问题标题】:Problem in running .net framework 4.0 website on iis 7.0在 iis 7.0 上运行 .net framework 4.0 网站时出现问题
【发布时间】:2011-11-26 13:08:11
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net iis-7 .net-4.0 cgi isapi


    【解决方案1】:

    如果您查看 ISAPI 和 CGI​​ 限制,并且所有内容都已设置为允许,并且安装的 ASP.NET 是 v4.0.30319,那么在右侧,在“Actions”面板中单击“Edit Feature Settings...”并选中这两个框。就我而言,他们不是。

    【讨论】:

      【解决方案2】:

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

      勾选允许执行扩展路径

      【讨论】:

        【解决方案3】:

        如果您没有列出 ISAPI 和 CGI​​ 限制选项,这里是如何添加它。 How to add ISAPI and CGI Restrictions

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            【解决方案5】:

            在我们的案例中,该问题的解决方案不涉及“ISAPI 和 CGI​​ 限制”设置。在操作人员意外将服务器升级到 .NET 4.5,然后再次降级到 .NET 4.0 后,错误开始出现。这导致一些 IIS 网站忘记了它们各自正确的应用程序池,并导致一些应用程序池从 .NET Framework 4.0 切换到 2.0。改回这些设置可以解决问题。

            【讨论】:

              【解决方案6】:

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

              This response worked fine.

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

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

              如果我使用的是 32 位系统,它会如下所示:

              %windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
              

              【讨论】:

                【解决方案7】:

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

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

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

                普拉梅什

                【讨论】:

                  【解决方案8】:

                  如果您正在运行 Delphi 或其他本机编译的 CGI,则此解决方案将有效:

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

                  2. 如果一切都允许,它仍然无法正常工作。您需要在Actions(右侧)中点击“Edit Feature Settings”,并分别勾选“Allow unspecified CGI modules”或“Allow unspecified ISAPI modules”。

                  3. 点击确定

                  【讨论】:

                  • 困扰了我几天,不得不执行此“编辑功能设置”以使公司单点登录插件在经典模式下工作
                  【解决方案9】:
                  1. 转到 IIS 管理器。
                  2. 打开服务器名称,如(PC-Name)\
                  3. 然后双击 ISAPI 和 CGI​​ 限制。
                  4. 然后选择 ASP.NET v4.0.30319(32-bit) Restriction allowed。

                  【讨论】:

                    【解决方案10】:

                    应用程序映射后,请按照以下步骤操作

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

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

                    然后点击确定

                    【讨论】:

                      【解决方案11】:

                      尝试将 AppPool 托管管道模式从“集成”更改为“经典”。

                      【讨论】:

                        【解决方案12】:

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

                        【讨论】:

                        • 强调:点击 SERVER NAME 而不是 SITE NAME 来查找选项
                        • 实际上,我什至没有 CGI 选项。我正在使用 Windows 7、64 位。试图让 ssrs 工作。
                        • 你节省了我的时间 :) 谢谢 :)
                        • 确保以管理员身份启动 IIS :)
                        • 至少在今天,你是我最喜欢的人。这解决了我一直在追逐几个小时的问题。很好的答案。
                        猜你喜欢
                        • 2012-06-28
                        • 2011-01-30
                        • 2017-05-26
                        • 1970-01-01
                        • 2011-03-25
                        • 2011-07-04
                        • 1970-01-01
                        • 2014-05-10
                        • 1970-01-01
                        相关资源
                        最近更新 更多