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

我正在学习 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/"

我收到命令“对象配置”不支持“Migrate” .

怎么做得好?

回答(2)

2 years ago

Chk my SO Post

最后,我能够为VS.Net 2015及其IISExpress配置破解它 . 如果你不断在VS.Net之外修改IIS或IISExpress设置,那么IT就不可能“外部”配置它并且什么都不会起作用 .

我花了一段时间来缩小我对VS.Net proj属性和配置的关注 . 我发现VS.Net创建了自己的“applicationhost.config”版本,可以在以下位置找到:

<myProject.sln path> \ .vs \ config \ applicationhost.config

这是我必须更改应用程序池的文件( applicationPool="Clr4ClassicAppPool ) -

<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>

您只需要更改applicationPool(在这种情况下,您的经典应用程序池名称可能是diff,从同一文件中获取正确的名称) . 还要确保您正在更新正确的"site"节点(从VS.Net调试时,您的Web应用程序的正确localhost URL)

如果仍有问题设置如下 -

<applicationDefaults applicationPool="Clr4IntegratedAppPool" />

希望这可以帮助 .

2 years ago

您应该使用以下内容更改web.config:

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