HttpListenerElement Klasa

Definicja

Reprezentuje element HttpListener w pliku konfiguracji. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
HttpListenerElement

Uwagi

Ta klasa odpowiada <httpListener> elementowi konfiguracji (Network Ustawienia). Ta klasa zapewnia programowy dostęp do informacji, które mogą być przechowywane w plikach konfiguracji.

Właściwość wskazuje, czy używany jest nieprzetworzony, niezwerygowany URI, a nie przekonwertowany adres URI, w którym są konwertowane wszystkie wartości zakodowane w procentach i są podejmowane inne UnescapeRequestUrl HttpListener kroki normalizacji.

Gdy wystąpienie odbiera żądanie za pośrednictwem usługi, tworzy wystąpienie ciągu URI dostarczonego przez element i uwidacznia HttpListener http.sys je jako właściwość http.sys HttpListenerRequest.Url .

Usługa http.sys uwidacznia dwa ciągi URI żądania:

  • Nieprzetworzone dane URI

  • Przekonwertowany URI

Nieprzetworzonego URI System.Uri jest podany w wierszu żądania żądania HTTP:

GET /path/

Host: www.contoso.com

Nieprzetworzonego URI dostarczonego przez http.sys dla żądania wymienionego powyżej jest "/path/". Reprezentuje to ciąg następujący po czasowniku HTTP, ponieważ został wysłany przez sieć.

Usługa tworzy przekonwertowany adres URI na podstawie informacji podanych w żądaniu przy użyciu adresu URI podanego w wierszu żądania HTTP i nagłówka Host w celu określenia serwera pochodzenia, do którym powinno zostać przekazane http.sys żądanie. W tym celu należy porównać informacje z żądania z zestawem zarejestrowanych prefiksów identyfikatora URI. W dokumentacji zestawu SDK serwera HTTP ten przekonwertowany adres URI jest HTTP_COOKED_URL struktury.

Aby można było porównać żądanie z zarejestrowanymi prefiksami identyfikatora URI, należy wykonać normalizację żądania. W powyższym przykładzie przekonwertowany kod URI będzie następujący:

http://www.contoso.com/path/

Usługa łączy wartość właściwości i ciąg w wierszu żądania w http.sys celu utworzenia Uri.Host przekonwertowanych wartości URI. Ponadto klasa http.sys i również wykonaj następujące System.Uri czynności:

  • Un-escapes all percent encoded values.Un-escapes all percent encoded values (Un-escapes all percent encoded values).

  • Konwertuje zakodowane w procentach znaki inne niż ASCII na reprezentację znaków UTF-16. Należy pamiętać, że obsługiwane są znaki UTF-8 i ANSI/DBCS, a także znaki Unicode (kodowanie Unicode w formacie %uXXXX).

  • Wykonuje inne kroki normalizacji, takie jak kompresja ścieżki.

Ponieważ żądanie nie zawiera żadnych informacji o kodowaniu używanym dla wartości zakodowanych w procentach, określenie poprawnego kodowania przez analizę wartości zakodowanych w procentach może być niemożliwe.

W http.sys związku z tym udostępnia dwa klucze rejestru do modyfikowania procesu:

Klucz rejestru Wartość domyślna Opis
EnableNonUTF8 1 W przypadku wartości zero akceptuje tylko adresy URL zakodowane w formacie http.sys UTF-8.

W przypadku wartości innych niż zero program akceptuje również adresy URL zakodowane w formacie http.sys ANSI lub DBCS w żądaniach.
FavorUTF8 1 Jeśli adres URL jest niezerowy, zawsze najpierw próbuje odkodować adres URL jako UTF-8. Jeśli konwersja zakończy się niepowodzeniem i wartość EnableNonUTF8 jest niezerowa, Http.sys następnie próbuje go zdekodować jako http.sys ANSI lub DBCS.

Jeśli zero (i EnableNonUTF8 jest niezerowy), próbuje zdekodować go jako ANSI lub DBCS; jeśli to się nie powiedzie, próbuje konwersji http.sys UTF-8.

Gdy HttpListener odbiera żądanie, używa przekonwertowany URI z http.sys jako danych wejściowych do Url właściwości.

Istnieje potrzeba obsługi znaków oprócz znaków i cyfr w interfejsach URI. Przykładem jest następujący URI, który służy do pobierania informacji o kliencie dla numeru klienta "1/3812":

http://www.contoso.com/Customer('1%2F3812')/

Zwróć uwagę na ukośnik zakodowany w procentach w wartościach URI (%2F). Jest to konieczne, ponieważ w tym przypadku znak ukośnika reprezentuje dane, a nie ogranicznik ścieżki.

Przekazanie ciągu do konstruktora Uri prowadzi do następującego URI:

http://www.contoso.com/Customer('1/3812')/

Podzielenie ścieżki na jej segmenty spowoduje następujące elementy:

Customer('1

3812')

Nie jest to intencja nadawcy żądania.

Jeśli właściwość jest ustawiona na wartość false, to gdy obiekt odbiera żądanie, używa nieprzetworzony URI zamiast przekonwertowanych wartości URI z metody jako danych wejściowych UnescapeRequestUrl HttpListener do właściwości http.sys Url .

Konstruktory

HttpListenerElement()

Inicjuje nowe wystąpienie klasy HttpListenerElement.

Właściwości

CurrentConfiguration

Pobiera odwołanie do wystąpienia najwyższego poziomu Configuration , które reprezentuje hierarchię konfiguracji, do którego należy bieżące ConfigurationElement wystąpienie.

(Odziedziczone po ConfigurationElement)
ElementInformation

ElementInformation Pobiera obiekt, który zawiera niezstosowalne informacje i funkcje ConfigurationElement obiektu.

(Odziedziczone po ConfigurationElement)
ElementProperty

ConfigurationElementProperty Pobiera obiekt reprezentujący ConfigurationElement sam obiekt.

(Odziedziczone po ConfigurationElement)
EvaluationContext

ContextInformation Pobiera obiekt dla ConfigurationElement obiektu.

(Odziedziczone po ConfigurationElement)
HasContext

Pobiera wartość wskazującą, czy CurrentConfiguration właściwość to null.

(Odziedziczone po ConfigurationElement)
Item[ConfigurationProperty]

Pobiera lub ustawia właściwość lub atrybut tego elementu konfiguracji.

(Odziedziczone po ConfigurationElement)
Item[String]

Pobiera lub ustawia właściwość, atrybut lub element podrzędny tego elementu konfiguracji.

(Odziedziczone po ConfigurationElement)
LockAllAttributesExcept

Pobiera kolekcję zablokowanych atrybutów.

(Odziedziczone po ConfigurationElement)
LockAllElementsExcept

Pobiera kolekcję zablokowanych elementów.

(Odziedziczone po ConfigurationElement)
LockAttributes

Pobiera kolekcję zablokowanych atrybutów.

(Odziedziczone po ConfigurationElement)
LockElements

Pobiera kolekcję zablokowanych elementów.

(Odziedziczone po ConfigurationElement)
LockItem

Pobiera lub ustawia wartość wskazującą, czy element jest zablokowany.

(Odziedziczone po ConfigurationElement)
Properties

Pobiera kolekcję właściwości.

(Odziedziczone po ConfigurationElement)
Timeouts

Pobiera domyślne elementy limitu czasu używane dla HttpListener obiektu.

UnescapeRequestUrl

Pobiera wartość, która wskazuje, czy jest używany HttpListener nieprzetworzonego unescaped URI zamiast przekonwertowanego URI.

Metody

DeserializeElement(XmlReader, Boolean)

Odczytuje kod XML z pliku konfiguracji.

(Odziedziczone po ConfigurationElement)
Equals(Object)

Porównuje bieżące ConfigurationElement wystąpienie z określonym obiektem.

(Odziedziczone po ConfigurationElement)
GetHashCode()

Pobiera unikatową wartość reprezentującą bieżące ConfigurationElement wystąpienie.

(Odziedziczone po ConfigurationElement)
GetTransformedAssemblyString(String)

Zwraca przekształconą wersję określonej nazwy zestawu.

(Odziedziczone po ConfigurationElement)
GetTransformedTypeString(String)

Zwraca przekształconą wersję określonej nazwy typu.

(Odziedziczone po ConfigurationElement)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
Init()

ConfigurationElement Ustawia obiekt na stan początkowy.

(Odziedziczone po ConfigurationElement)
InitializeDefault()

Służy do inicjowania domyślnego zestawu wartości dla ConfigurationElement obiektu.

(Odziedziczone po ConfigurationElement)
IsModified()

Wskazuje, czy ten element konfiguracji został zmodyfikowany od czasu ostatniego zapisania lub załadowania, gdy został zaimplementowany w klasie pochodnej.

(Odziedziczone po ConfigurationElement)
IsReadOnly()

Pobiera wartość wskazującą, czy ConfigurationElement obiekt jest tylko do odczytu.

(Odziedziczone po ConfigurationElement)
ListErrors(IList)

Dodaje błędy nieprawidłowej właściwości w tym ConfigurationElement obiekcie i we wszystkich podelementach do przekazanej listy.

(Odziedziczone po ConfigurationElement)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnDeserializeUnrecognizedAttribute(String, String)

Pobiera wartość wskazującą, czy podczas deserializacji napotkano nieznany atrybut.

(Odziedziczone po ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

Pobiera wartość wskazującą, czy podczas deserializacji napotkano nieznany element.

(Odziedziczone po ConfigurationElement)
OnRequiredPropertyNotFound(String)

Zgłasza wyjątek, gdy nie znaleziono wymaganej właściwości.

(Odziedziczone po ConfigurationElement)
PostDeserialize()

Wywoływana po deserializacji.

(Odziedziczone po ConfigurationElement)
PreSerialize(XmlWriter)

Wywoływane przed serializacji.

(Odziedziczone po ConfigurationElement)
Reset(ConfigurationElement)

Resetuje stan ConfigurationElement wewnętrzny obiektu, w tym blokady i kolekcje właściwości.

(Odziedziczone po ConfigurationElement)
ResetModified()

Resetuje wartość IsModified() metody w false przypadku implementacji w klasie pochodnej.

(Odziedziczone po ConfigurationElement)
SerializeElement(XmlWriter, Boolean)

Zapisuje zawartość tego elementu konfiguracji do pliku konfiguracji po zaimplementowaniu w klasie pochodnej.

(Odziedziczone po ConfigurationElement)
SerializeToXmlElement(XmlWriter, String)

Zapisuje zewnętrzne tagi tego elementu konfiguracji do pliku konfiguracji po zaimplementowaniu w klasie pochodnej.

(Odziedziczone po ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

Ustawia właściwość na określoną wartość.

(Odziedziczone po ConfigurationElement)
SetReadOnly()

IsReadOnly() Ustawia właściwość obiektu ConfigurationElement i wszystkich podelementów.

(Odziedziczone po ConfigurationElement)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Modyfikuje obiekt, ConfigurationElement aby usunąć wszystkie wartości, które nie powinny być zapisywane.

(Odziedziczone po ConfigurationElement)

Dotyczy

Zobacz też