HttpListenerElement Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt das HttpListener-Element in der Konfigurationsdatei dar. Diese Klasse kann nicht vererbt werden.
public ref class HttpListenerElement sealed : System::Configuration::ConfigurationElement
public sealed class HttpListenerElement : System.Configuration.ConfigurationElement
type HttpListenerElement = class
inherit ConfigurationElement
Public NotInheritable Class HttpListenerElement
Inherits ConfigurationElement
- Vererbung
Hinweise
Diese Klasse entspricht dem <Konfigurationselement httpListener-Element> (Netzwerkeinstellungen). Diese Klasse bietet programmgesteuerten Zugriff auf Informationen, die in Konfigurationsdateien gespeichert werden können.
Die UnescapeRequestUrl -Eigenschaft gibt an, ob HttpListener anstelle des konvertierten URI, bei dem prozentcodierte Werte konvertiert und andere Normalisierungsschritte ausgeführt werden, den unformatierten URI ohne Escapezeichen verwendet.
Wenn eine HttpListener-Instanz eine Anforderung über den http.sys
-Dienst empfängt, erstellt sie eine Instanz der von http.sys
bereitgestellten URI-Zeichenfolge und macht sie als HttpListenerRequest.Url-Eigenschaft verfügbar.
Der http.sys
-Dienst macht zwei Anforderungs-URI-Zeichenfolgen verfügbar:
Unformatierter URI
Konvertierter URI
Der unformatierte URI ist der in der Anforderungszeile einer HTTP-Anforderung bereitgestellte System.Uri-Wert:
GET /path/
Host: www.contoso.com
Der von http.sys
für die oben genannte Anforderung bereitgestellte unformatierte URI lautet „/path/“. Dies stellt die Zeichenfolge dar, die dem HTTP-Verb folgt, so wie sie über das Netzwerk gesendet wurde.
Der http.sys
-Dienst erstellt einen konvertierten URI aus den in der Anforderung bereitgestellten Informationen. Dazu wird anhand des in der HTTP-Anforderungszeile bereitgestellte URI und des Hostheaders der Ursprungsserver bestimmt, an den die Anforderung weitergeleitet werden soll. Dies erfolgt durch Vergleich der Informationen aus der Anforderung mit einer Reihe registrierter URI-Präfixe. Die HTTP Server SDK-Dokumentation bezieht sich auf diesen konvertierten URI als HTTP_COOKED_URL-Struktur .
Damit die Anforderung mit registrierten URI-Präfixen verglichen werden kann, muss eine Normalisierung der Anforderung durchgeführt werden. Für das Beispiel oben würde der konvertierte URI wie folgt lauten:
http://www.contoso.com/path/
Der http.sys
-Dienst kombiniert den Eigenschaftswert von Uri.Host und die Zeichenfolge in der Anforderungszeile, um einen konvertierten URI zu erstellen. Darüber hinaus http.sys
führen und die System.Uri -Klasse auch die folgenden Aktionen aus:
Entfernt alle Escapezeichen aus mit Prozentzeichen codierten Werten.
Konvertiert mit Prozentzeichen codierte Nicht-ASCII-Zeichen in eine UTF-16-Zeichendarstellung. Beachten Sie, dass UTF-8- und ANSI/DBCS-Zeichen sowie Unicode-Zeichen unterstützt werden (Unicode-Codierung mit dem Format „%uXXXX“).
Führt weitere Normalisierungsschritte wie beispielsweise eine Pfadkomprimierung aus.
Da die Anforderung keine Informationen zu der Codierung enthält, die für die mit Prozentzeichen codierten Werte verwendet wurde, ist es u. U. nicht möglich, die richtige Codierung nur durch Parsen der mit Prozentzeichen codierten Werte zu ermitteln.
Daher stellt http.sys
zwei Registrierungsschlüssel zum Ändern des Prozesses bereit:
Registrierungsschlüssel | Standardwert | BESCHREIBUNG |
---|---|---|
EnableNonUTF8 | 1 | Wenn dieser Schlüssel 0 (null) ist, akzeptiert http.sys nur UTF-8-codierte URLs.Wenn dieser Schlüssel nicht 0 (null) ist, akzeptiert http.sys auch ANSI- oder DBCS-codierte URLs in Anforderungen. |
FavorUTF8 | 1 | Wenn dieser Schlüssel nicht 0 (null) ist, versucht http.sys immer zuerst, eine URL als UTF-8 zu decodieren. Wenn diese Konvertierung nicht funktioniert und EnableNonUTF8 nicht 0 (null) ist, versucht Http.sys, die URL als ANSI oder DBCS zu decodieren.Wenn dieser Schlüssel 0 (null) und EnableNonUTF8 nicht 0 (null) ist, versucht http.sys , die URL als ANSI oder DBCS zu entschlüsseln. Wenn das nicht erfolgreich ist, wird eine UTF-8-Konvertierung versucht. |
Wenn HttpListener eine Anforderung empfängt, wird der konvertierte URI von http.sys
als Eingabe für die Url-Eigenschaft verwendet.
Neben Zeichen und Zahlen müssen in URIs auch andere Zeichen unterstützt werden. Ein Beispiel ist der folgende URI, mit dem Kundeninformationen für die Kundennummer „1/3812“ abgerufen werden sollen:
http://www.contoso.com/Customer('1%2F3812')/
Beachten Sie den mit Prozentzeichen codierten Schrägstrich im URI (%2F). Dies ist notwendig, da in diesem Fall das Schrägstrichzeichen Daten darstellt und kein Pfadtrennzeichen.
Das Übergeben der Zeichenfolge an den URI-Konstruktor führt zu folgendem URI:
http://www.contoso.com/Customer('1/3812')/
Das Teilen des Pfads in seine Segmente würde zu den folgenden Elementen führen:
Customer('1
3812')
Das ist nicht die Absicht des Absenders der Anforderung.
Wenn die UnescapeRequestUrl -Eigenschaft auf false festgelegt ist, verwendet sie, wenn sie HttpListener eine Anforderung empfängt, den rohen URI anstelle des konvertierten URI von http.sys
als Eingabe in die Url -Eigenschaft.
Konstruktoren
HttpListenerElement() |
Initialisiert eine neue Instanz der HttpListenerElement-Klasse. |
Eigenschaften
CurrentConfiguration |
Ruft einen Verweis auf die Configuration-Instanz der obersten Ebene ab, die die Konfigurationshierarchie darstellt, zu der die aktuelle ConfigurationElement-Instanz gehört. (Geerbt von ConfigurationElement) |
ElementInformation |
Ruft ein ElementInformation-Objekt ab, das die nicht anpassbaren Informationen und Funktionen des ConfigurationElement-Objekts enthält. (Geerbt von ConfigurationElement) |
ElementProperty |
Ruft das ConfigurationElementProperty-Objekt ab, das das ConfigurationElement-Objekt selbst darstellt. (Geerbt von ConfigurationElement) |
EvaluationContext |
Ruft das ContextInformation-Objekt für das ConfigurationElement-Objekt ab. (Geerbt von ConfigurationElement) |
HasContext |
Ruft einen Wert ab, der angibt, ob die CurrentConfiguration-Eigenschaft |
Item[ConfigurationProperty] |
Ruft eine Eigenschaft oder ein Attribut dieses Konfigurationselements ab oder legt diese bzw. dieses fest. (Geerbt von ConfigurationElement) |
Item[String] |
Ruft eine Eigenschaft, ein Attribut oder ein untergeordnetes Element dieses Konfigurationselements ab oder legt diese(s) fest. (Geerbt von ConfigurationElement) |
LockAllAttributesExcept |
Ruft die Auflistung gesperrter Attribute ab. (Geerbt von ConfigurationElement) |
LockAllElementsExcept |
Ruft die Auflistung gesperrter Elemente ab. (Geerbt von ConfigurationElement) |
LockAttributes |
Ruft die Auflistung gesperrter Attribute ab. (Geerbt von ConfigurationElement) |
LockElements |
Ruft die Auflistung gesperrter Elemente ab. (Geerbt von ConfigurationElement) |
LockItem |
Ruft einen Wert ab, der angibt, ob das Element gesperrt ist, oder legt diesen fest. (Geerbt von ConfigurationElement) |
Properties |
Ruft die Auflistung von Eigenschaften ab. (Geerbt von ConfigurationElement) |
Timeouts |
Ruft die Standardtimeoutelemente ab, die für ein HttpListener-Objekt verwendet werden. |
UnescapeRequestUrl |
Ruft einen Wert ab, der angibt, ob HttpListener den unformatierten URI ohne Escapezeichen anstelle des konvertierten URI verwendet. |
Methoden
DeserializeElement(XmlReader, Boolean) |
Liest XML aus der Konfigurationsdatei. (Geerbt von ConfigurationElement) |
Equals(Object) |
Vergleicht die aktuelle ConfigurationElement-Instanz mit dem angegebenen Objekt. (Geerbt von ConfigurationElement) |
GetHashCode() |
Ruft einen eindeutigen Wert ab, der die aktuelle ConfigurationElement-Instanz darstellt. (Geerbt von ConfigurationElement) |
GetTransformedAssemblyString(String) |
Gibt die transformierte Version des angegebenen Assemblynamens zurück. (Geerbt von ConfigurationElement) |
GetTransformedTypeString(String) |
Gibt die transformierte Version des angegebenen Typnamens zurück. (Geerbt von ConfigurationElement) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
Init() |
Legt für das ConfigurationElement-Objekt den Ausgangszustand fest. (Geerbt von ConfigurationElement) |
InitializeDefault() |
Wird verwendet, um einen Standardsatz von Werten für das ConfigurationElement-Objekt zu initialisieren. (Geerbt von ConfigurationElement) |
IsModified() |
Gibt an, ob dieses Konfigurationselement geändert wurde, seit es zuletzt gespeichert oder geladen wurde, wenn es in einer abgeleiteten Klasse implementiert wurde. (Geerbt von ConfigurationElement) |
IsReadOnly() |
Ruft einen Wert ab, der angibt, ob das ConfigurationElement schreibgeschützt ist. (Geerbt von ConfigurationElement) |
ListErrors(IList) |
Fügt die Fehler über ungültige Eigenschaften in diesem ConfigurationElement-Objekt und in allen Unterelementen der übergebenen Liste hinzu. (Geerbt von ConfigurationElement) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnDeserializeUnrecognizedAttribute(String, String) |
Ruft einen Wert ab, der angibt, ob während der Deserialisierung ein unbekanntes Attribut aufgetreten ist. (Geerbt von ConfigurationElement) |
OnDeserializeUnrecognizedElement(String, XmlReader) |
Ruft einen Wert ab, der angibt, ob während der Deserialisierung ein unbekanntes Element aufgetreten ist. (Geerbt von ConfigurationElement) |
OnRequiredPropertyNotFound(String) |
Löst eine Ausnahme aus, wenn eine erforderliche Eigenschaft nicht gefunden wird. (Geerbt von ConfigurationElement) |
PostDeserialize() |
Wird nach der Deserialisierung aufgerufen. (Geerbt von ConfigurationElement) |
PreSerialize(XmlWriter) |
Wird vor der Serialisierung aufgerufen. (Geerbt von ConfigurationElement) |
Reset(ConfigurationElement) |
Setzt den internen Status dieses ConfigurationElement-Objekts zurück, einschließlich der Sperren und der Eigenschaftenauflistungen. (Geerbt von ConfigurationElement) |
ResetModified() |
Setzt bei Implementierung in einer abgeleiteten Klasse den Wert der IsModified()-Methode auf |
SerializeElement(XmlWriter, Boolean) |
Schreibt bei Implementierung in einer abgeleiteten Klasse den Inhalt dieses Konfigurationselements in die Konfigurationsdatei. (Geerbt von ConfigurationElement) |
SerializeToXmlElement(XmlWriter, String) |
Schreibt bei Implementierung in einer abgeleiteten Klasse die äußeren Tags dieses Konfigurationselements in die Konfigurationsdatei. (Geerbt von ConfigurationElement) |
SetPropertyValue(ConfigurationProperty, Object, Boolean) |
Legt eine Eigenschaft auf den angegebenen Wert fest. (Geerbt von ConfigurationElement) |
SetReadOnly() |
Legt die IsReadOnly()-Eigenschaft für das ConfigurationElement-Objekt und alle Unterelemente fest. (Geerbt von ConfigurationElement) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) |
Ändert das ConfigurationElement-Objekt, um alle Werte zu entfernen, die nicht gespeichert werden sollen. (Geerbt von ConfigurationElement) |