WebMessageEncodingBindingElement Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Habilita XML de texto sin formato, codificaciones de mensajes de Notación de objetos JavaScript (JSON) y el contenido binario "sin procesar" que se va a leer y escribir cuando se use en un enlace de Windows Communication Foundation (WCF).
public ref class WebMessageEncodingBindingElement sealed : System::ServiceModel::Channels::MessageEncodingBindingElement, System::ServiceModel::Description::IWsdlExportExtension
public sealed class WebMessageEncodingBindingElement : System.ServiceModel.Channels.MessageEncodingBindingElement, System.ServiceModel.Description.IWsdlExportExtension
type WebMessageEncodingBindingElement = class
inherit MessageEncodingBindingElement
interface IWsdlExportExtension
Public NotInheritable Class WebMessageEncodingBindingElement
Inherits MessageEncodingBindingElement
Implements IWsdlExportExtension
- Herencia
- Implementaciones
Comentarios
La codificación es el proceso de transformación de un mensaje en una secuencia de bytes. La descodificación es el proceso inverso. Estos procesos requieren la especificación de una codificación de caracteres. WebMessageEncodingBindingElement funciona delegando a una serie de codificadores internos para administrar el texto sin formato XML y las codificaciones JSON, y los datos binarios "sin formato." Un codificador del mensaje compuesto hace esta delegación.
Este elemento de enlace y su codificador compuesto se utilizan para controlar la codificación en escenarios que no utilizan la mensajería de SOAP utilizada por WebHttpBinding. Estos escenarios incluyen "Plain Old XML" (POX), Representational State Transfer (REST), Really Simple Syndication (RSS) y Atom syndication, y Asynchronous JavaScript y XML (AJAX). El codificador del mensaje compuesto no admite SOAP o WS-Addressing, por lo que MessageVersion siempre devuelve None.
El elemento de enlace se puede configurar con una codificación de caracteres de escritura en el momento de la construcción utilizando el constructor WebMessageEncodingBindingElement(Encoding). El valor Encoding especifica el comportamiento en escritura para casos JSON y Textual XML. En lectura, cualquier codificación de mensajes válida y codificación de texto se entenderán.
Este constructor establece los valores predeterminados en el número máximo de lectores y escritores que se asignan a los grupos y que están respectivamente disponibles para procesar los mensajes entrantes y salientes sin asignar nuevos lectores o escritores. Las propiedades MaxReadPoolSize y MaxWritePoolSize también se pueden utilizar para establecer el número máximo de lectores y escritores que se van a asignar respectivamente. De forma predeterminada se asignan 64 lectores y 16 escritores.
Este constructor establece también las restricciones de complejidad predeterminadas en XmlDictionaryReaderQuotas asociadas a esta codificación por la propiedad ReaderQuotas para protegerse contra una clase de ataques por denegación de servicio (DOS) que intentan utilizar la complejidad de los mensajes para congestionar los recursos de procesamiento de los extremos.
WebMessageEncodingBindingElement tiene un método CreateMessageEncoderFactory que crea un generador del codificador del mensaje que genera descodificadores y codificadores del mensaje JSON, XML o sin formato según sea adecuado en función del tipo de contenido especificado.
WebMessageEncodingBindingElement también proporciona los métodos para compilar los generadores y las escuchas para los canales a través de los fluyen las solicitudes HTTP.
El codificador compuesto y sus clases asociadas y componentes de configuración se pueden utilizar en confianza parcial y este uso no requiere ningún permiso especial.
Constructores
WebMessageEncodingBindingElement() |
Inicializa una nueva instancia de la clase WebMessageEncodingBindingElement. |
WebMessageEncodingBindingElement(Encoding) |
Inicializa una nueva instancia de la clase WebMessageEncodingBindingElement con una codificación especificada de carácter de escritura. |
Propiedades
ContentTypeMapper |
Obtiene o establece cómo el tipo de contenido de un mensaje entrante está asignado a un formato. |
CrossDomainScriptAccessEnabled |
Obtiene o establece un valor que determina si el acceso de script entre dominios está habilitado. |
MaxReadPoolSize |
Obtiene o establece un valor que especifica el número máximo de lectores que se asigna a un grupo y que está disponible para procesar los mensajes entrantes sin asignar lectores nuevos. |
MaxWritePoolSize |
Obtiene o establece un valor que especifica el número máximo de editores que se asigna a un grupo y que está disponible para procesar los mensajes salientes sin asignar editores nuevos. |
MessageVersion |
Obtiene o establece la versión de mensaje que indica que el elemento de enlace no utiliza SOAP o WS-Addressing. |
ReaderQuotas |
Obtiene las restricciones de la complejidad de los mensajes SOAP que pueden ser procesados por los extremos configurados con este enlace. |
WriteEncoding |
Obtiene o establece la codificación de caracteres que se usa para escribir el texto del mensaje. |
Métodos
BuildChannelFactory<TChannel>(BindingContext) |
Crea la pila del generador de canales en el cliente que crea un tipo específico de canal, para un contexto determinado. |
BuildChannelListener<TChannel>(BindingContext) |
Crea la pila del agente de escucha del canal en el cliente que acepta un tipo específico de canal, para un contexto determinado. |
CanBuildChannelFactory<TChannel>(BindingContext) |
Devuelve un valor que indica si el elemento de enlace puede crear un generador de canales para un tipo específico de canal. (Heredado de BindingElement) |
CanBuildChannelListener<TChannel>(BindingContext) |
Devuelve un valor que indica si el enlace actual puede crear un agente de escucha para un tipo de canal y un contexto específicos. |
Clone() |
Crea un nuevo objeto WebMessageEncodingBindingElement inicializado a partir del actual. |
CreateMessageEncoderFactory() |
Crea un generador del codificador del mensaje que genera codificadores del mensaje que pueden escribir mensajes JavaScript Object Notation (JSON) o XML. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetProperty<T>(BindingContext) |
Devuelve el objeto del tipo solicitado, si está presente, del nivel adecuado en la pila del canal, o |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Genera información de contrato del WSDL de las directivas de codificación contenidas en el elemento de enlace. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Genera información de contrato del WSDL de las directivas de codificación contenidas en el elemento de enlace. |