HTTP错误500.19在IIS 8当系统.web配置存在于appphost配置

sg24os4d  于 2023-10-19  发布在  其他
关注(0)|答案(4)|浏览(190)

我们有一个实用程序,可以在客户服务器上安装时自动设置ASP.NET Web应用程序。该实用程序通常会将许多配置添加到 applicationHost.config 中新应用程序的Location路径中。我们使用Microsoft.Web.Administration配置类以编程方式实现这一点。
这在IIS 7.0和IIS 7.5中工作正常,但是当我们尝试在IIS 8(Server 2012)中安装相同的配置时,我们开始收到500.19服务器错误,因为服务器上托管的所有内容都是错误的XML元素(HRESULT 0x8007000d)。我系统地检查了我们安装的所有配置,它似乎是system.web/httpRuntimemaxRequestLength属性(见下文)。看起来system.web配置元素本身就是罪魁祸首,因为直到删除该元素,错误才会消失。
我已经确认了system.web/httpRuntime的部分定义声明它是允许的Everywhere,并且您可以在配置的其他级别(例如,web.config)设置system.web配置而不会有问题。为什么我们不能在 applicationHost.config 中设置它?

<location path="Default Web Site/ManagementConsole">
    <!-- ... more config ... -->
    <system.web>
        <httpRuntime maxRequestLength="10240" />
    </system.web>
</location>

500.19错误引用的文件是临时应用程序池配置文件(C:\inetpub\temp\apppools\apppoolname\apppoolname.config)。该文件的内容是:

但是,当我进入 applicationHost.config 并为system.web添加节组定义和为httpRuntime添加节定义时,500.19中的消息更改为声明存在重复的system.web/httpRuntime定义!
所以我不能定义它,我不能不定义它。什么?

4jb9z9bj

4jb9z9bj1#

我看到这个错误发生时,所有必要的模块都没有安装。而不是告诉你,一个模块是失踪,它会抱怨说,配置是腐败。检查您在IIS 7/7.5计算机上安装的相同模块是否也安装在IIS 8上。

lx0bsm1f

lx0bsm1f2#

在我们的例子中,我们没有安装URL重写。而不是抱怨它错过了它只是给了我们这个通用的信息。
我认为当你把一个网站从IIS 7.x转移到8.x时,你需要做的是首先验证所有的插件都正确安装。

ar5n3qh5

ar5n3qh53#

我有一个类似的问题,我张贴到SO here。也可以看看Feature Delegation上的这篇文章。

nbysray5

nbysray54#

嗨,我发现这个youtube视频很有帮助IIS 7 Tutorial,也可以帮助你解决你的问题。也许这个链接可以帮助你。Troubleshooting HTTP 500.19 Errors in IIS 7Error message when you visit a Web site that is hosted on IIS 7.0: "HTTP Error 500.19 – Internal Server Error" . Troubleshoot IIS7 errors like a pro
我提供的链接将指导您确定您的问题的原因,从您的声明中,它在不同的情况下发生变化。下面是一个解决方案。

相关问题