如何修复 HTTP 错误 500.22 - 内部服务器错误 检测到在集成托管管道模式下不适用的 ASP.NET 设置

本文关键字:错误 管道 模式 设置 NET ASP 集成 不适用 HTTP 何修复 内部 | 更新日期: 2023-09-27 18:31:59

我正在了解Http modules,在上次尝试中我收到了:

HTTP 错误 500.22 - 内部服务器错误 ASP.NET 设置已 检测到在集成托管管道模式下不适用。

建议的解决方案之一是:

从 IIS Express 安装目录中,运行 appcmd migrate config "Default Web Site/"。

所以从命令提示符我转到C'Program Files'IIS Express然后我执行:appcmd migrate config "Default Web Site/"

我收到命令"迁移"在对象配置上不受支持。

如何正确操作?

如何修复 HTTP 错误 500.22 - 内部服务器错误 检测到在集成托管管道模式下不适用的 ASP.NET 设置

Chk my SO Post

最后,我能够破解它 VS.Net 2015及其IISExpress的配置。无法在"外部"配置它,如果您继续在 VS.Net 之外修改 IIS 或 IISExpress 设置,则没有任何效果。

我花了一段时间才将注意力缩小到 VS.Net 项目属性和配置。我发现 VS.Net 创建了自己的"applicationhost.config"版本,可以在 -

) -

    <sites>
        <site name="WebSite1" ... ignore this sction if present
        </site>
        <site name="myProject" id="2">
            <application path="/" applicationPool="Clr4ClassicAppPool">
                <virtualDirectory path="/" physicalPath="D:'Source'myProject" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:1960:localhost" />
            </bindings>
        </site>

只需更改应用程序池(在这种情况下,经典应用池名称可能会有所不同,从同一文件中获取正确的名称)。此外,请确保更新正确的"站点"节点(从 VS.Net 调试时 Web 应用的正确本地主机 URL)

如果仍然存在问题,请设置以下内容 -

<applicationDefaults applicationPool="Clr4IntegratedAppPool" />

希望这有帮助。

您应该使用以下方法更改Web.config:

<system.webServer>
<validation validateIntegratedModeConfiguration="false" /> 
</system.webServer>