HttpListenerElement Clase

Definición

Representa el elemento HttpListener del archivo de configuración. Esta clase no puede heredarse.

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

Comentarios

Esta clase corresponde al elemento <httpListener> de configuración Element (Network Configuración). Esta clase proporciona acceso mediante programación a la información que se puede almacenar en archivos de configuración.

La propiedad indica si usa el URI sin formato sin procesar en lugar del URI convertido donde se convierten los valores codificados por porcentaje y se toman otros pasos de UnescapeRequestUrl HttpListener normalización.

Cuando una instancia recibe una solicitud a través del servicio, crea una instancia de la cadena de URI proporcionada por y la HttpListener expone como la propiedad http.sys http.sys HttpListenerRequest.Url .

El http.sys servicio expone dos cadenas uri de solicitud:

  • URI sin formato

  • URI convertido

El URI sin formato es System.Uri el proporcionado en la línea de solicitud de una solicitud HTTP:

GET /path/

Host: www.contoso.com

El URI sin formato proporcionado http.sys por para la solicitud mencionada anteriormente es "/path/". Esto representa la cadena que sigue al verbo HTTP cuando se envió a través de la red.

El servicio crea un URI convertido a partir de la información proporcionada en la solicitud mediante el URI proporcionado en la línea de solicitud HTTP y el encabezado Host para determinar el servidor de origen al que se debe reenviar http.sys la solicitud. Para ello, se compara la información de la solicitud con un conjunto de prefijos URI registrados. La documentación del SDK del servidor HTTP hace referencia a este URI convertido como HTTP_COOKED_URL estructura.

Para poder comparar la solicitud con prefijos URI registrados, es necesario realizar alguna normalización de la solicitud. Para el ejemplo anterior, el URI convertido sería el siguiente:

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

El http.sys servicio combina el valor de propiedad y la cadena en la línea de solicitud para crear un URI Uri.Host convertido. Además, http.sys y la System.Uri clase también hacen lo siguiente:

  • Desasoye todos los valores codificados por porcentaje.

  • Convierte caracteres no ASCII codificados por porcentaje en una representación de caracteres UTF-16. Tenga en cuenta que se admiten caracteres UTF-8 y ANSI/DBCS, así como caracteres Unicode (codificación Unicode con el formato %uXXXX).

  • Ejecuta otros pasos de normalización, como la compresión de ruta de acceso.

Puesto que la solicitud no contiene información sobre la codificación usada para los valores codificados por porcentaje, puede que no sea posible determinar la codificación correcta simplemente analizando los valores codificados por porcentaje.

Por http.sys lo tanto, proporciona dos claves del Registro para modificar el proceso:

Clave del Registro Valor predeterminado Descripción
EnableNonUTF8 1 Si es cero, solo acepta direcciones URL con codificación http.sys UTF-8.

Si es distinto de cero, también acepta direcciones URL codificadas con ANSI o http.sys con codificación DBCS en las solicitudes.
FavorUTF8 1 Si es distinto de cero, siempre intenta descodificar primero una dirección URL como UTF-8; si se produce un error en esa conversión y EnableNonUTF8 es distinto de cero, Http.sys a continuación, intenta descodificarlo como ANSI o http.sys DBCS.

Si cero (y EnableNonUTF8 es distinto de cero), intenta descodificarlo como ANSI o DBCS; si no se realiza correctamente, intenta una conversión http.sys UTF-8.

Cuando HttpListener recibe una solicitud, usa el URI convertido de http.sys como entrada a la propiedad Url .

Es necesario admitir caracteres además de caracteres y números en los URI. Un ejemplo es el siguiente URI, que se usa para recuperar la información del cliente para el número de cliente "1/3812":

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

Observe la barra diagonal codificada por porcentaje en el URI (%2F). Esto es necesario, ya que en este caso el carácter de barra diagonal representa los datos y no un delimitador de ruta de acceso.

Pasar la cadena al constructor uri dará lugar al siguiente URI:

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

Dividir la ruta de acceso en sus segmentos daría como resultado los siguientes elementos:

Customer('1

3812')

Esta no es la intención del remitente de la solicitud.

Si la propiedad se establece en false, cuando recibe una solicitud, usa el URI sin formato en lugar del URI convertido de como entrada UnescapeRequestUrl HttpListener a la propiedad http.sys Url .

Constructores

HttpListenerElement()

Inicializa una nueva instancia de la clase HttpListenerElement.

Propiedades

CurrentConfiguration

Obtiene una referencia a la instancia de Configuration de nivel superior que representa la jerarquía de configuración a la que pertenece la instancia actual de ConfigurationElement.

(Heredado de ConfigurationElement)
ElementInformation

Obtiene un objeto ElementInformation que contiene la funcionalidad e información no personalizable del objeto ConfigurationElement.

(Heredado de ConfigurationElement)
ElementProperty

Obtiene el objeto ConfigurationElementProperty que representa al propio objeto ConfigurationElement.

(Heredado de ConfigurationElement)
EvaluationContext

Obtiene el objeto ContextInformation para el objeto ConfigurationElement.

(Heredado de ConfigurationElement)
HasContext

Obtiene un valor que indica si la propiedad CurrentConfiguration es null.

(Heredado de ConfigurationElement)
Item[ConfigurationProperty]

Obtiene o establece una propiedad o atributo de este elemento de configuración.

(Heredado de ConfigurationElement)
Item[String]

Obtiene o establece una propiedad, un atributo o un elemento secundario de este elemento de configuración.

(Heredado de ConfigurationElement)
LockAllAttributesExcept

Obtiene la colección de atributos bloqueados.

(Heredado de ConfigurationElement)
LockAllElementsExcept

Obtiene la colección de elementos bloqueados.

(Heredado de ConfigurationElement)
LockAttributes

Obtiene la colección de atributos bloqueados.

(Heredado de ConfigurationElement)
LockElements

Obtiene la colección de elementos bloqueados.

(Heredado de ConfigurationElement)
LockItem

Obtiene o establece un valor que indica si el elemento está bloqueado.

(Heredado de ConfigurationElement)
Properties

Obtiene la colección de propiedades.

(Heredado de ConfigurationElement)
Timeouts

Obtiene los elementos de tiempo de espera predeterminados utilizados para un objeto HttpListener .

UnescapeRequestUrl

Obtiene un valor que indica si HttpListener usa el URI sin secuencias de escape y sin formato en lugar del URI convertido.

Métodos

DeserializeElement(XmlReader, Boolean)

Lee XML del archivo de configuración.

(Heredado de ConfigurationElement)
Equals(Object)

Compara la instancia actual de ConfigurationElement con el objeto especificado.

(Heredado de ConfigurationElement)
GetHashCode()

Obtiene un valor único que representa la instancia actual de ConfigurationElement.

(Heredado de ConfigurationElement)
GetTransformedAssemblyString(String)

Devuelve la versión transformada del nombre de ensamblado especificado.

(Heredado de ConfigurationElement)
GetTransformedTypeString(String)

Devuelve la versión transformada del nombre de tipo especificado.

(Heredado de ConfigurationElement)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Init()

Establece el objeto ConfigurationElement en su estado inicial.

(Heredado de ConfigurationElement)
InitializeDefault()

Se utiliza para inicializar un conjunto predeterminado de valores para el objeto ConfigurationElement.

(Heredado de ConfigurationElement)
IsModified()

Indica si se ha modificado este elemento de configuración desde la última vez en que se guardo o cargó al implementarlo en una clase derivada.

(Heredado de ConfigurationElement)
IsReadOnly()

Obtiene un valor que indica si el objeto ConfigurationElement es de solo lectura.

(Heredado de ConfigurationElement)
ListErrors(IList)

Agrega a la lista que se pasa los errores de propiedad no válida que hay en este objeto ConfigurationElement y en todos los subelementos.

(Heredado de ConfigurationElement)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnDeserializeUnrecognizedAttribute(String, String)

Obtiene un valor que indica si se ha encontrado un atributo desconocido durante la deserialización.

(Heredado de ConfigurationElement)
OnDeserializeUnrecognizedElement(String, XmlReader)

Obtiene un valor que indica si se ha encontrado un elemento desconocido durante la deserialización.

(Heredado de ConfigurationElement)
OnRequiredPropertyNotFound(String)

Se inicia una excepción cuando no se encuentra una propiedad necesaria.

(Heredado de ConfigurationElement)
PostDeserialize()

Se llama a este método después de la deserialización.

(Heredado de ConfigurationElement)
PreSerialize(XmlWriter)

Se llama a este método antes de la serialización.

(Heredado de ConfigurationElement)
Reset(ConfigurationElement)

Restablece el estado interno del objeto ConfigurationElement, incluyendo los bloqueos y las colecciones de propiedades.

(Heredado de ConfigurationElement)
ResetModified()

Restablece el valor del método IsModified() en false cuando se implementa en una clase derivada.

(Heredado de ConfigurationElement)
SerializeElement(XmlWriter, Boolean)

Escribe el contenido de este elemento de configuración en el archivo de configuración cuando se implementa en una clase derivada.

(Heredado de ConfigurationElement)
SerializeToXmlElement(XmlWriter, String)

Escribe las etiquetas externas de este elemento de configuración en el archivo de configuración cuando se implementa en una clase derivada.

(Heredado de ConfigurationElement)
SetPropertyValue(ConfigurationProperty, Object, Boolean)

Establece una propiedad en el valor especificado.

(Heredado de ConfigurationElement)
SetReadOnly()

Establece la propiedad IsReadOnly() para el objeto ConfigurationElement y todos los subelementos.

(Heredado de ConfigurationElement)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

Modifica el objeto ConfigurationElement para quitar todos los valores que no se deben guardar.

(Heredado de ConfigurationElement)

Se aplica a

Consulte también