HttpListenerElement Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta l'elemento HttpListener nel file di configurazione. La classe non può essere ereditata.
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
- Ereditarietà
Commenti
Questa classe corrisponde <httpListener> all'elemento di configurazione Element (Network Impostazioni). Questa classe fornisce l'accesso a livello di codice alle informazioni che possono essere archiviate nei file di configurazione.
La proprietà indica se usa l'URI non elaborato senza caratteri di escape anziché l'URI convertito in cui vengono convertiti i valori con codifica percentuale e vengono evasi altri passaggi UnescapeRequestUrl HttpListener di normalizzazione.
Quando un'istanza riceve una richiesta tramite il servizio, crea un'istanza della stringa URI fornita da ed espone la richiesta HttpListener http.sys
come proprietà http.sys
HttpListenerRequest.Url .
Il http.sys
servizio espone due stringhe URI della richiesta:
URI non elaborato
URI convertito
L'URI non elaborato System.Uri è l'oggetto fornito nella riga della richiesta di una richiesta HTTP:
GET /path/
Host: www.contoso.com
L'URI non elaborato fornito da per la richiesta indicata in http.sys
precedenza è "/path/". Rappresenta la stringa che segue il verbo HTTP inviato in rete.
Il servizio crea un URI convertito dalle informazioni fornite nella richiesta usando l'URI fornito nella riga della richiesta HTTP e l'intestazione Host per determinare il server di origine a cui deve essere http.sys
inoltrata la richiesta. Questa operazione viene eseguita confrontando le informazioni della richiesta con un set di prefissi URI registrati. La documentazione di HTTP Server SDK fa riferimento a questo URI convertito come HTTP_COOKED_URL struttura.
Per poter confrontare la richiesta con i prefissi URI registrati, è necessario eseguire una certa normalizzazione con la richiesta. Per l'esempio precedente, l'URI convertito sarà il seguente:
http://www.contoso.com/path/
Il http.sys
servizio combina il valore della proprietà e la stringa nella riga della richiesta per creare un URI Uri.Host convertito. Inoltre, http.sys
e la System.Uri classe eseere le operazioni seguenti:
Annulla l'escape di tutti i valori con codifica percentuale.
Converte i caratteri non ASCII con codifica percentuale in una rappresentazione di caratteri UTF-16. Si noti che sono supportati i caratteri UTF-8 e ANSI/DBCS, nonché i caratteri Unicode (codifica Unicode con il formato %uXXXX).
Esegue altri passaggi di normalizzazione, ad esempio la compressione del percorso.
Poiché la richiesta non contiene informazioni sulla codifica usata per i valori con codifica percentuale, potrebbe non essere possibile determinare la codifica corretta semplicemente analizzando i valori con codifica percentuale.
Di http.sys
conseguenza, fornisce due chiavi del Registro di sistema per la modifica del processo:
Chiave del Registro di sistema | Valore predefinito | Descrizione |
---|---|---|
EnableNonUTF8 | 1 | Se zero, accetta solo URL con codifica http.sys UTF-8.Se diverso da zero, accetta anche URL con codifica ANSI o http.sys DBCS nelle richieste. |
FavorUTF8 | 1 | Se diverso da zero, tenta sempre di decodificare prima un URL come UTF-8. Se la conversione non riesce e EnableNonUTF8 è diverso da zero, Http.sys tenta di decodificarlo come ANSI o http.sys DBCS.Se zero (e EnableNonUTF8 è diverso da zero), tenta di decodificarlo come ANSI o DBCS. In caso contrario, tenta una http.sys conversione UTF-8. |
Quando HttpListener riceve una richiesta, usa l'URI convertito da http.sys
come input per la proprietà Url .
È necessario supportare i caratteri oltre ai caratteri e ai numeri negli URI. Un esempio è l'URI seguente, usato per recuperare le informazioni sul cliente per il numero cliente "1/3812":
http://www.contoso.com/Customer('1%2F3812')/
Si noti la barra con codifica percentuale nell'URI (%2F). Ciò è necessario, poiché in questo caso il carattere barra rappresenta i dati e non un delimitatore di percorso.
Il passaggio della stringa al costruttore Uri condurrà all'URI seguente:
http://www.contoso.com/Customer('1/3812')/
La suddivisione del percorso nei segmenti comporta gli elementi seguenti:
Customer('1
3812')
Questa non è la finalità del mittente della richiesta.
Se la proprietà è impostata su false, quando riceve una richiesta, usa l'URI non elaborato anziché l'URI convertito da come UnescapeRequestUrl input per la proprietà HttpListener http.sys
Url .
Costruttori
HttpListenerElement() |
Inizializza una nuova istanza della classe HttpListenerElement. |
Proprietà
CurrentConfiguration |
Ottiene un riferimento all'istanza di Configuration di livello superiore che rappresenta la gerarchia di configurazione cui appartiene l'istanza corrente di ConfigurationElement. (Ereditato da ConfigurationElement) |
ElementInformation |
Ottiene un oggetto ElementInformation contenente le funzionalità e le informazioni non personalizzabili dell'oggetto ConfigurationElement. (Ereditato da ConfigurationElement) |
ElementProperty |
Ottiene l'oggetto ConfigurationElementProperty che rappresenta l'oggetto ConfigurationElement stesso. (Ereditato da ConfigurationElement) |
EvaluationContext |
Ottiene l'oggetto ContextInformation per l'oggetto ConfigurationElement. (Ereditato da ConfigurationElement) |
HasContext |
Ottiene un valore che indica se la proprietà CurrentConfiguration è |
Item[ConfigurationProperty] |
Ottiene o imposta una proprietà o un attributo di questo elemento di configurazione. (Ereditato da ConfigurationElement) |
Item[String] |
Ottiene o imposta una proprietà, un attributo o un elemento figlio di questo elemento di configurazione. (Ereditato da ConfigurationElement) |
LockAllAttributesExcept |
Ottiene l'insieme di attributi bloccati. (Ereditato da ConfigurationElement) |
LockAllElementsExcept |
Ottiene l'insieme di elementi bloccati. (Ereditato da ConfigurationElement) |
LockAttributes |
Ottiene l'insieme di attributi bloccati. (Ereditato da ConfigurationElement) |
LockElements |
Ottiene l'insieme di elementi bloccati. (Ereditato da ConfigurationElement) |
LockItem |
Ottiene o imposta un valore che indica se l'elemento è bloccato. (Ereditato da ConfigurationElement) |
Properties |
Ottiene la raccolta di proprietà. (Ereditato da ConfigurationElement) |
Timeouts |
Ottiene gli elementi di timeout predefinito utilizzati per un oggetto HttpListener. |
UnescapeRequestUrl |
Ottiene un valore che indica se HttpListener utilizza l'URI senza codice di escape non elaborato anziché l'URI convertito. |
Metodi
DeserializeElement(XmlReader, Boolean) |
Legge il codice XML dal file di configurazione. (Ereditato da ConfigurationElement) |
Equals(Object) |
Confronta l'istanza corrente di ConfigurationElement con l'oggetto specificato. (Ereditato da ConfigurationElement) |
GetHashCode() |
Ottiene un valore univoco che rappresenta l'istanza corrente di ConfigurationElement. (Ereditato da ConfigurationElement) |
GetTransformedAssemblyString(String) |
Restituisce la versione trasformata del nome di assembly specificato. (Ereditato da ConfigurationElement) |
GetTransformedTypeString(String) |
Restituisce la versione trasformata del nome del tipo specificato. (Ereditato da ConfigurationElement) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
Init() |
Ripristina lo stato iniziale dell'oggetto ConfigurationElement. (Ereditato da ConfigurationElement) |
InitializeDefault() |
Da utilizzare per inizializzare un insieme predefinito di valori per l'oggetto ConfigurationElement. (Ereditato da ConfigurationElement) |
IsModified() |
Indica se questo elemento di configurazione è stato modificato dopo l'ultimo salvataggio o caricamento durante l'implementazione in una classe derivata. (Ereditato da ConfigurationElement) |
IsReadOnly() |
Ottiene un valore che indica se l'oggetto ConfigurationElement è di sola lettura. (Ereditato da ConfigurationElement) |
ListErrors(IList) |
Aggiunge all'elenco passato gli errori di proprietà non valida di questo oggetto ConfigurationElement e di tutti i sottoelementi. (Ereditato da ConfigurationElement) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
OnDeserializeUnrecognizedAttribute(String, String) |
Ottiene un valore che indica se viene incontrato un attributo sconosciuto durante la deserializzazione. (Ereditato da ConfigurationElement) |
OnDeserializeUnrecognizedElement(String, XmlReader) |
Ottiene un valore che indica se viene incontrato un attributo sconosciuto durante la deserializzazione. (Ereditato da ConfigurationElement) |
OnRequiredPropertyNotFound(String) |
Genera un'eccezione quando una proprietà obbligatoria non viene trovata. (Ereditato da ConfigurationElement) |
PostDeserialize() |
Da chiamare dopo la deserializzazione. (Ereditato da ConfigurationElement) |
PreSerialize(XmlWriter) |
Da chiamare prima della serializzazione. (Ereditato da ConfigurationElement) |
Reset(ConfigurationElement) |
Reimposta lo stato interno dell'oggetto ConfigurationElement, inclusi i blocchi e le raccolte di proprietà. (Ereditato da ConfigurationElement) |
ResetModified() |
Reimposta il valore del metodo IsModified() su |
SerializeElement(XmlWriter, Boolean) |
Scrive il contenuto di questo elemento di configurazione nel file di configurazione in caso di implementazione in una classe derivata. (Ereditato da ConfigurationElement) |
SerializeToXmlElement(XmlWriter, String) |
Scrive i tag esterni di questo elemento di configurazione nel file di configurazione in caso di implementazione in una classe derivata. (Ereditato da ConfigurationElement) |
SetPropertyValue(ConfigurationProperty, Object, Boolean) |
Imposta una proprietà sul valore specificato. (Ereditato da ConfigurationElement) |
SetReadOnly() |
Imposta la proprietà IsReadOnly() per l'oggetto ConfigurationElement e tutti i sottoelementi. (Ereditato da ConfigurationElement) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) |
Modifica l'oggetto ConfigurationElement in modo da rimuovere tutti i valori che non devono essere salvati. (Ereditato da ConfigurationElement) |