HttpListenerElement Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 |
| 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 |
| 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) |