【问题标题】:HTTP 500.21 error while starting a web site directly through iisexpress.exe直接通过 iisexpress.exe 启动网站时出现 HTTP 500.21 错误
【发布时间】:2012-06-25 22:54:34
【问题描述】:

当我尝试直接通过 iisexpress.exe 运行网站时,出现错误。这发生在所有网站上。我使用的命令如下:

.\iisexpress.exe /site:MultipleRoutes

网站启动成功,但出现以下错误:

HTTP 错误 500.21 - 内部服务器错误

处理程序“ExtensionlessUrl-Integrated-4.0”有一个坏模块 其模块列表中的“ManagedPipelineHandler”

我假设网站没有在 ASP.NET 下运行,但是当我通过 VS 启动网站时,没有问题。

有什么想法吗?

编辑:

这是另一个事实:当我尝试通过指定路径而不是在 applicationHost.config 文件中注册的站点名称来运行网站时,该站点运行得非常好:

.\iisexpress.exe /path:D:\Dropbox\Apps\MultipleRoutes /port:1672 /clr:v4.0

【问题讨论】:

    标签: asp.net iis iis-7 iis-express


    【解决方案1】:

    听起来您的用户 applicationHost.config 可能有问题。如果您转到您的文档文件夹,然后是 \config\applicationhost.config,您应该会看到 iisexpress 正在使用的配置文件。搜索 ManagedPipelineHandler 和 ExtensionlessUrl。有什么不妥之处吗?

    【讨论】:

      【解决方案2】:

      这对我来说是 32 位与 64 位的问题,我的用户配置文件目录中的 applicationHost.config 仅包含 32 位模块声明,但试图以 64 位运行。

      IIS Express 安装在 C:\Program Files\IIS Express\AppServer 中包含一个有效的 64 位配置,所以我只是用这个覆盖了我的配置文件目录中的那个,然后事情就开始工作了。

      【讨论】:

        【解决方案3】:

        以下是使用 IIS Express 运行我的 x64 位 IIS 应用程序所需的完整更改,以便远程主机可以访问它:

        iisexpress /config:"C:\Users\test-user\Documents\IISExpress\config\applicationhost.config" /site:MyWebSite
        Starting IIS Express ...
        Successfully registered URL "http://192.168.2.133:8080/" for site "MyWebSite" application "/"
        Registration completed for site "MyWebSite"
        IIS Express is running.
        Enter 'Q' to stop IIS Express
        

        配置文件(applicationhost.config)添加了如下部分:

        <sites>
          <site name="MyWebsite" id="2">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
              <virtualDirectory path="/" physicalPath="C:\build\trunk\MyWebsite" />
            </application>
            <bindings>
              <binding protocol="http" bindingInformation=":8080:192.168.2.133" />
            </bindings>
          </site>
        

        .NET 框架的 64 位版本可以按如下方式启用:

        <globalModules>
            <!--
                <add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
                <add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
            -->             
            <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />
        

        【讨论】:

          【解决方案4】:

          这对我有用:

          C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

          【讨论】:

            【解决方案5】:

            C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

            其他人在这个过程中像我一样挣扎时要记住的事情。

            【讨论】:

            • 非常感谢,那是我的救星
            【解决方案6】:

            只需运行注册 asp.net .. 你可以在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 找到它。 通过 cmd(管理员)运行它,如下所示:

            C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 你会没事的……

            【讨论】:

              【解决方案7】:

              您需要升级。

              运行C:\Program Files\IIS Express\UpgradeApplicationHost.js

              从 32 位迁移到 64 位时为我工作。

              【讨论】:

                【解决方案8】:

                重新安装您的 .NET 框架

                这个问题在以后安装 .NET 框架时会出现这个问题。简单的解决方法是重新安装你的 .NET 框架或者检查安装向导中的修复。 或者您可以安装最新版本的 .NET 框架...... https://www.microsoft.com/en-in/download/details.aspx?id=49982 我在第一次配置 DNN 8 时遇到了同样的问题。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2021-02-20
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-03-04
                  • 2019-01-06
                  相关资源
                  最近更新 更多