HttpErrorsSection-Klasse
Konfiguriert die HTTP-Fehlerbehandlung für einen Webserver.
Syntax
class HttpErrorsSection : ConfigurationSectionWithCollection
Methoden
In der folgenden Tabelle werden die Methoden aufgelistet, die von der HttpErrorsSection
Klasse verfügbar gemacht werden.
Name | Beschreibung |
---|---|
Add (Hinzufügen) | (Geerbt von ConfigurationSectionWithCollection.) |
Clear | (Geerbt von ConfigurationSectionWithCollection .) |
Get | (Geerbt von ConfigurationSectionWithCollection .) |
GetAllowDefinition | (Geerbt von ConfigurationSection.) |
GetAllowLocation | (Geerbt von ConfigurationSection .) |
Remove | (Geerbt von ConfigurationSectionWithCollection .) |
RevertToParent | (Geerbt von ConfigurationSection .) |
SetAllowDefinition | (Geerbt von ConfigurationSection .) |
SetAllowLocation | (Geerbt von ConfigurationSection .) |
Eigenschaften
In der folgenden Tabelle sind die Eigenschaften aufgeführt, die von der HttpErrorsSection
Klasse verfügbar gemacht werden.
Name | Beschreibung |
---|---|
DefaultPath |
Ein optionaler string Wert, der den Standardpfad einer HTTP-Fehlerdatei oder URL enthält. Wenn er nichtleer ist, wird dieser Wert von der Path Eigenschaft neu erstellter HttpErrorElement-Objekte geerbt. |
DefaultResponseMode |
Ein optionaler sint32 Wert, der die Standardantwort auf HTTP-Fehler konfiguriert. Wenn er nichtleer ist, wird dieser Wert von der ResponseMode Eigenschaft neu erstellter HttpErrorElement Objekte geerbt. Die möglichen Werte werden weiter unten im Abschnitt Hinweise aufgeführt. |
DetailedMoreInformationLink |
Ein optionaler Lese-/Schreibstring -Wert, der die URL für einen Link, der unten auf der Seite angezeigt wird, zu einer Seite mit detaillierteren Informationen zum ausgelösten Fehler angibt. Die status , substatus , hresult und messageid des Fehlers werden als Teil der Abfragezeichenfolge gesendet. Sie können diese Eigenschaft verwenden, um Endbenutzer auf einen benutzerdefinierten Speicherort zu verweisen, um Fehlerinformationen zu erhalten. Der Standardwert ist https://go.microsoft.com/fwlink/?LinkID=62293. |
ErrorMode |
Eine Lese-/Schreibsint32 -Enumeration, die angibt, ob die detaillierte Fehlerfunktionalität aktiviert, deaktiviert oder nur für lokale Clients angezeigt wird. Die möglichen Werte werden weiter unten im Abschnitt Hinweise aufgeführt. |
ExistingResponse |
Eine Lese-/Schreibsint32 -Enumeration, die angibt, wie IIS vorhandene benutzerdefinierte Fehler behandelt. Die möglichen Werte werden weiter unten im Abschnitt Hinweise aufgeführt. |
HttpErrors |
Ein Array von HttpErrorElement Werten, die die Behandlung für bestimmte HTTP-Fehler konfigurieren. |
Location |
(Geerbt von ConfigurationSection .) Eine Schlüsseleigenschaft. |
Path |
(Geerbt von ConfigurationSection .) Eine Schlüsseleigenschaft. |
SectionInformation |
(Geerbt von ConfigurationSection .) |
Unterklassen
Diese Klasse enthält keine Unterklassen.
Hinweise
Diese Klasse macht die Einstellungen im <httpErrors>
Abschnitt einer Konfigurationsdatei verfügbar.
Die durch die HttpErrorsSection
Klasse dargestellten benutzerdefinierten Fehler beziehen sich auf IIS 7 und befinden sich im System.WebServer.Configuration-Namespace. Jeder dieser Fehler wird durch eine Instanz der HttpErrorElement-Klasse dargestellt.
Die benutzerdefinierten Fehler, die durch die CustomErrorsSection-Klasse dargestellt werden, sind spezifisch für ASP.NET und befinden sich im System.Web-Namespace. Jeder dieser Fehler wird durch eine Instanz der CustomError-Klasse dargestellt.
In der folgenden Tabelle werden die verschiedenen möglichen Werte für die DefaultResponseMode
Eigenschaft angezeigt. Der Standardwert ist 0 (File
).
Wert | Schlüsselwort | Beschreibung |
---|---|---|
0 | File |
Der Webserver gibt die Webseite aus der statischen Datei zurück, die in der Path Eigenschaft der HttpErrorElement Klasse angegeben ist. Hinweis: Benutzerdefinierte Fehler sind sprachspezifisch und geben in der Regel den benutzerdefinierten Fehler in der Sprache des Clients zurück. Dies erfordert, dass das Sprachpaket des Clienten installiert ist. Der Dateipfad wird wie folgt erstellt: PrefixLanguageFilePath\ClientLanguageID\ErrorCodeFile Wenn zum Beispiel PrefixLanguageFilePath "d:\inetpub\custerr" ist, der Browser des Clienten im Accept-Language Header ein "en-us" ist und, und der Fehldercode 404 ist, dann ist der daraus resultierende Pfad d:\inetpub\custerr\en-us\404.htm, sofern das en-US-Sprachpaket installiert ist. Wenn ja-JP die Systemsprache ist und das en-US-Sprachpaket nicht installiert ist, lautet der resultierende Pfad "d:\inetpub\custerr\ja-jp\404.htm". |
1 | ExecuteURL |
Der Webserver gibt die interne ASP-Seite zurück, die in der Path Eigenschaft der HttpErrorElement Klasse angegeben ist. Die URL sollte sich im Bereich desselben Anwendungspools befinden. Hinweis: In IIS 7 erstellt die Umleitung eine URL mit dem folgenden Format (die Elemente in den Klammern sind optional): /<CustomErrorPage>[?<QueryString>]&resourcePath=<OriginalURL>[?<OriginalQueryString>]&statusCode=<StatusCode> |
2 | Redirect |
Der Webserver stellt eine HTTP 302 Found Antwort bereit und enthält die in der Path Eigenschaft der HttpErrorElement Klasse im Location Feld der Antwort angegebene URL. Wenn es sich bei der Antwort um eine GET Methode anstelle einer HEAD Methode handelt, sollte sie auch eine Entität mit einem kurzen Link zur neuen URL enthalten. Hinweis: In IIS 7 erstellt die Umleitung eine URL mit dem folgenden Format (die Elemente in den Klammern sind optional): /<CustomErrorPage>[?<QueryString>]&resourcePath=<OriginalURL>[?<OriginalQueryString>]&statusCode=<StatusCode> |
In der folgenden Tabelle werden die verschiedenen möglichen Werte für die ErrorMode
Eigenschaft angezeigt. Der Standardwert ist 0 (DetailedLocalOnly
).
Wert | Schlüsselwort | Beschreibung |
---|---|---|
0 | DetailedLocalOnly |
Eine detaillierte Fehlerantwort wird nur generiert, wenn die Anforderung vom lokalen Computer stammt. Wenn die Anforderung von einer externen Adresse stammt, generiert der Server eine benutzerdefinierte Fehlerantwort. Hinweis: Der Wert der ExistingResponse Eigenschaft bestimmt, ob ein detaillierter oder benutzerdefinierter Fehler generiert wird. |
1 | Custom |
Der Fehler, den das Modul oder der Server generiert, wird durch eine von Ihnen angegebene benutzerdefinierte Seite ersetzt. Dieser Modus ist nützlich, um Endbenutzern benutzerfreundlichere Fehlermeldungen bereitzustellen. Hinweis: Diese Einstellung deaktiviert detaillierte Fehler, auch für lokale Anforderungen. |
2 | Detailed |
Eine Seite mit detaillierten Informationen zum Anwendungsfehler wird angezeigt, und benutzerdefinierte Fehler werden nicht angezeigt. Dieser Modus eignet sich zum Testen und Debuggen von Websites und Anwendungen. Hinweis: Es ist ein Sicherheitsrisiko,ErrorMode auf Detailed festzulegen, da selbst Remoteclients detaillierte Fehlerinformationen erhalten, die zu unerwünschter Offenlegung von Informationen führen könnten. |
In der folgenden Tabelle werden die verschiedenen möglichen Werte für die ExistingResponse
Eigenschaft angezeigt. Der Standardwert ist 0 (Auto
).
Wert | Schlüsselwort | Beschreibung |
---|---|---|
0 | Auto |
Die Antwort hängt von der ersten erfolgreichen Übereinstimmung der folgenden angeforderten Bedingungen ab: 1. Wenn die IHttpResponse::SetStatus-Methode mithilfe des fTrySkipCustomErrors Flags aufgerufen wurde, wird die vorhandene Antwort übergeben, und es wird kein detaillierter oder benutzerdefinierter Fehler angezeigt.2. Wenn die ErrorMode Eigenschaft auf Custom festgelegt ist, wird die Antwort ersetzt.3. Wenn ErrorMode auf Detailed festgelegt ist und eine Antwort vorhanden ist, wird die Antwort übergeben.4. Wenn ErrorMode auf Detailed festgelegt ist und keine Antwort vorhanden ist, wird die Antwort durch einen detaillierten Fehler ersetzt. |
1 | Replace |
Die vorhandene Antwort wird unabhängig davon, wie SetStatus aufgerufen wurde, immer ersetzt. |
2 | PassThrough |
Die vorhandene Antwort wird immer verwendet. |
Beispiel
Im folgenden Codebeispiel werden neue Werte für die Eigenschaften DefaultPath
, ErrorMode
und DetailedMoreInformationLink
angegeben. Eine Hilfsfunktion zeigt die Konfigurationsabschnittswerte vor und nach der Änderung an.
' Connect to the WMI WebAdministration namespace.
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")
' Get the HTTP errors section.
Set oSection = oWebAdmin.Get( _
"HttpErrorsSection.Path='" & _
"MACHINE/WEBROOT/APPHOST/',Location=''")
' Display the class name of the section.
WScript.Echo "[ " & oSection.Path_.Class & " ]"
' Display the initial values.
Call DisplayValues("Initial Values", oSection)
' Specify the path of a default error page.
oSection.DefaultPath = _
"D:\inetpub\custerr\en-US\contoso\DefaultErrorPage.htm"
' Specify a detailed more information link.
oSection.DetailedMoreInformationLink = "http://www.contoso.com/MoreInfo.htm"
'Set the ErrorMode property to Custom.
oSection.ErrorMode = 1
' Save the values to configuration.
oSection.Put_
' Refresh the oSection object variable with the new values.
oSection.Refresh_
' Display the changed values.
Call DisplayValues("New Values", oSection)
' ==== DisplayValues helper function. ====
Function DisplayValues(HeadingText, oSection)
' Display a heading.
WScript.Echo
WScript.Echo HeadingText
WScript.Echo String(Len(HeadingText), "-")
' Display the non-embedded section properties.
For Each prop In oSection.Properties_
If Left( _
Prop.Qualifiers_("CIMTYPE"), 6) _
<> "object" then
WScript.Echo prop.Name & ": " & prop.Value
End If
Next
End Function
Vererbungshierarchie
ConfigurationSectionWithCollection
HttpErrorsSection
Anforderungen
type | Beschreibung |
---|---|
Client | IIS 7.0 unter Windows Vista. IIS 7.5 unter Windows 7 IIS 8.0 unter Windows 8 IIS 10.0 unter Windows 10 |
Server | IIS 7.0 unter Windows Server 2008 - IIS 7.5 unter Windows Server 2008 R2 IIS 8.0 auf Windows Server 2012. - IIS 8.5 unter Windows Server 2012 R2 IIS 10.0 auf Windows Server 2016. |
Produkt | - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0 |
MOF-Datei | WebAdministration.mof |
Weitere Informationen
ConfigurationSection-Klasse
ConfigurationSectionWithCollection-Klasse
CustomError-Klasse
CustomErrorsSection-Klasse
HttpErrorElement-Klasse
IHttpResponse::SetStatus-Methode