HTTP-Fehler 500.19 in IIS 8, wenn die Konfiguration system.web in der AppHost-Konfiguration vorhanden ist

Wir haben ein Dienstprogramm, mit dem ASP.NET-Webanwendungen bei der Installation auf Kundenservern automatisch eingerichtet werden. Dieses Dienstprogramm fügt dem Pfad für die neue App in applicationHost.config traditionell eine Reihe von Konfigurationen hinzu. Dies geschieht programmgesteuert mithilfe der Konfigurationsklassen von Microsoft.Web.Administration.

Dies funktioniert in IIS 7.0 und IIS 7.5 einwandfrei. Wenn wir jedoch versuchen, die identische Konfiguration in IIS 8 (Server 2012) zu installieren, werden aufgrund eines angeblich fehlerhaften XML-Elements (HRESULT 0x8007000d) für alle auf dem Server gehosteten Elemente 500.19-Serverfehler angezeigt. . Ich habe die gesamte von uns installierte Konfiguration systematisch durchgesehen und es scheint sich um das Attribut system.web / httpRuntime maxRequestLength zu handeln (siehe unten). Es scheint, dass das Konfigurationselement system.web selbst der Schuldige ist, da der Fehler nicht verschwindet, bis er selbst beseitigt ist.

Ich habe bestätigt, dass die Abschnittsdefinition für "system.web / httpRuntime" angibt, dass "Everywhere" zulässig ist, und dass Sie die Konfiguration "system.web" auf anderen Konfigurationsebenen (z. B. "web.config") ohne Probleme festlegen können. Warum können wir es nicht in applicationHost.config einstellen?

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

Bearbeiten: Ich habe nach dem ursprünglichen Beitrag festgestellt, dass die Datei, auf die der Fehler 500.19 verwiesen hat, eine temporäre Konfigurationsdatei für den App-Pool ist (C: \ inetpub \ temp \ apppools \ apppoolname \ apppoolname.config. Der Inhalt dieser Datei ist:

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

Aber wenn ich in applicationHost.config eine Abschnittsgruppendefinition für system.web und eine Abschnittsdefinition für httpRuntime hinzufüge, ändert sich die Meldung in 500.19 dahingehend, dass behauptet wird, dass es eine doppelte system.web / httpRuntime-Definition gibt! Also kann ich es nicht definieren und ich kann es nicht definieren. Was??

Antworten auf die Frage(4)

Ihre Antwort auf die Frage