【问题标题】:HTTP Error 500.19 in IIS 8 when system.web configuration is present in apphost config当 apphost 配置中存在 system.web 配置时,IIS 8 中的 HTTP 错误 500.19
【发布时间】:2013-01-13 10:28:43
【问题描述】:

我们有一个实用程序,可以在安装到客户服务器上时自动设置 ASP.NET Web 应用程序。此实用程序通常会在 applicationHost.config 中为新应用的位置路径添加许多配置。我们使用 Microsoft.Web.Administration 配置类以编程方式执行此操作。

这在 IIS 7.0 和 IIS 7.5 中运行良好,但是当我们尝试在 IIS 8 (Server 2012) 中安装相同的配置时,由于据称格式错误的 XML 元素 ( HRESULT 0x8007000d)。我系统地检查了我们安装的所有配置,它似乎是 system.web/httpRuntime maxRequestLength 属性(见下文)。似乎 system.web 配置元素本身就是罪魁祸首,因为错误在它本身被删除之前不会消失。

我已经确认 system.web/httpRuntime 的部分定义声明它在任何地方都是允许的,并且您可以在配置的其他级别(例如 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。该文件的内容是:

<!-- ERROR: There's been an error reading or processing the applicationhost.config file.  Line number: 905  Error message: The configuration section 'system.web' cannot be read because it is missing a section declaration
-->

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

【问题讨论】:

    标签: asp.net iis iis-8


    【解决方案1】:

    我看到当所有必要的模块都没有安装时会发生这个错误。它不会告诉您缺少模块,而是会抱怨配置已损坏。检查您在 IIS 7/7.5 机器上安装的相同模块是否也安装在 IIS 8 上。

    【讨论】:

    • 我检查并安装了我工作的 Server 2008 R2 机器上存在的一些角色和功能,但不幸的是,这并没有解决问题。
    【解决方案2】:

    在我们的例子中,我们没有安装 URL Rewrite。而不是抱怨它丢失了它只是给了我们这个通用的信息。

    我认为在将站点从 IIS 7.x 转移到 8.x 时需要做的是首先验证所有插件都已正确安装。

    【讨论】:

    • 这正是我的问题。
    • 这也解决了我的问题。使用 WebPI,搜索 URL 重写模块,安装并修复。在我的情况下,500.19 错误报告包括一个空的配置错误,配置源:-1:0:所以不知道问题发生在哪里。
    【解决方案3】:

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

    【讨论】:

    • 在不告诉我为什么这不再有效的情况下,注释掉该部分并不是一个足够的解决方案(尽管“因为 Microsoft 这么说”是一个正当理由,如果它是真的——我还没有听说过, 尽管)。功能委托已设置为请求过滤的读/写。
    【解决方案4】:

    您好,我发现这个 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

    我提供的链接将指导您确定问题的原因,根据您的陈述,它在不同情况下会发生变化。下面是一个解决方案。

    【讨论】:

    • 谢谢,但正如我在帖子中所说:1)这个问题与 IIS 8 相关,而不是 7,实际上根本不会影响 IIS 7,尽管它们可能类似,并且 2)这些链接都没有解决我在编辑帖子时注意到的潜在错误(早在您回答之前)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-07
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多