Wie Sie ein HttpError-Konfigurationselement mithilfe der IIS 7-API wieder in "Inherited" versetzen

7

Angenommen, ich habe die folgende <httpErrors> -Auflistung in einem web.config :

%Vor%

Ja, nett und leer.

Und in IIS 7 sieht meine HTTP-Fehlerseite so aus:

Schön! (Ich habe 404 einfach hervorgehoben, weil das das Beispiel ist, das ich in einer Sekunde verwenden werde).

Jetzt führe ich den folgenden Code aus:

%Vor%

Schön. Ich habe jetzt, wie erwartet, in meinem web.config :

%Vor%

Könnte nicht glücklicher sein. Jetzt, in IIS 7 sieht meine HTTP-Fehler Abschnitt, wie erwartet, wie folgt aus:

Das Leben könnte an dieser Stelle nicht süßer sein. Jetzt möchte ich meinen 404-Fehler programmatisch auf den ursprünglichen Screenshot zurücksetzen. Logic diktiert, dass ich remove mein neuer Fehler:

sollte %Vor%

Aber leider, wenn ich das tue, sieht mein web.config ähnlich aus:

%Vor%

Und mein IIS sieht ein bisschen so aus:

Dies wird wegen meinem web.config erwartet - aber wie benutze ich ServerManager und all seine nützliche IIS 7 API, entferne ich das httpError Element komplett und setze mein web.config zurück auf:

%Vor%

Irgendwelche Ideen?

    
joshcomley 23.11.2010, 10:34
quelle

3 Antworten

16

In IIS7 und höher im Abschnitt Verwaltung können wir ein Symbol namens Konfigurationseditor sehen. Doppelklicken Sie und erweitern auf

  

system.webserver - & gt; webdav - & gt; httpErrors

Klicken Sie mit der rechten Maustaste auf Standardpfad unter

  

section - & gt; Klicken Sie auf Revert to Parent

Dann die Webseite neu starten

Die Änderungen werden zurückgesetzt

    
sushma 17.12.2012 09:30
quelle
4

Ich bin schon mal darauf gestoßen. Die einzige Möglichkeit, dies zu erreichen, bestand darin, RevertToParent() im Abschnitt system.webServer/httpErrors aufzurufen und die Änderungen zu übernehmen, bevor Sie Änderungen vornehmen, z. B .:

%Vor%

Sie müssen committen, nachdem RevertToParent() is called because the errors collection remains intact until CommitChanges () 'aufgerufen wurde.

Sie müssen dann die gespeicherte Kopie der lokalen Fehlersammlung erneut hinzufügen, indem Sie die benutzerdefinierten Fehler entfernen oder aktualisieren, wenn sie erneut hinzugefügt werden.

Ich habe unten ein vollständiges Arbeitsbeispiel eingefügt. Der Code funktioniert auf der Site root web.config , aber mit ein wenig Bastelei könntest du Unterstützung für web.config Dateien in Unterordnern hinzufügen:

%Vor%     
Kev 24.11.2010 22:15
quelle
0

Nun, das ist, was ich für dieses Problem gefunden habe:

%Vor%

Ich bekomme eine Liste von Elementen als normal, dann Schleife, um die eine zu finden, die ich will, und dann lösche auf dem Element. Das ist es und es funktioniert. Ich weiß nicht, ob es das gab, als diese Frage gestellt wurde, aber jetzt. Sie müssen sicherstellen, dass Sie diesen Statuscode und den Substatuscode kennen.

    
Richard Barker 13.06.2016 22:28
quelle