HttpListenerElement Classe

Definizione

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

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 è null.

(Ereditato da ConfigurationElement)
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 false quando viene implementato in una classe derivata.

(Ereditato da ConfigurationElement)
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)

Si applica a

Vedi anche