当apphost配置中存在system.web配置时,IIS 8中的HTTP错误500.19

Jam*_*cia 9 asp.net iis iis-8

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

这在IIS 7.0中工作正常,IIS 7.5,但是当我们尝试安装IIS 8相同的配置(Server 2012中),我们开始变得因为一个所谓正常的XML元素的托管服务器上的所有内容500.19服务器错误(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>
Run Code Online (Sandbox Code Playgroud)

编辑:我原来的职位,该文件中引用的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
-->
Run Code Online (Sandbox Code Playgroud)

但是,当我进入的applicationHost.config并添加段组定义的System.Web和的httpRuntime,在500.19的变化消息的部分定义,声称有重复的System.Web /的httpRuntime定义!所以我无法定义它,我无法定义它.什么??

Gro*_*Src 3

我见过当未安装所有必需的模块时会发生此错误。它不会告诉您模块丢失,而是会抱怨配置已损坏。检查在 IIS 7/7.5 计算机上安装的相同模块是否也安装在 IIS 8 上。