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í.
Permite que las codificaciones de mensajes XML de texto sin formato, notación de objetos JavaScript (JSON) y contenido binario "sin procesar" se lean y escriban cuando se usan 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 transformar 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. Funciona WebMessageEncodingBindingElement al delegar en una serie de codificadores internos para controlar las codificaciones XML y JSON de texto sin formato y los datos binarios "sin procesar". Esta delegación se realiza mediante un codificador de mensajes compuestos.
Este elemento de enlace y su codificador compuesto se usan para controlar la codificación en escenarios que no usan la mensajería SOAP usada por .WebHttpBinding Estos escenarios incluyen "XML antiguo sin formato" (POX), transferencia de estado representacional (REST), distribución realmente simple (RSS) y distribución atom, y JavaScript asincrónico y XML (AJAX). El codificador de mensajes compuestos 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 tiempo de construcción mediante el WebMessageEncodingBindingElement(Encoding) constructor . El Encoding valor especifica el comportamiento de escritura para los casos JSON y Textual XML. En lectura, se entiende cualquier codificación de mensajes válida y codificación de texto.
Este constructor establece valores predeterminados en el número máximo de lectores y escritores asignados a grupos y que están disponibles respectivamente para procesar mensajes entrantes y salientes sin asignar nuevos lectores o escritores. Las propiedades MaxReadPoolSize y MaxWritePoolSize también se pueden usar para establecer el número máximo de lectores y escritores que se asignarán respectivamente. De forma predeterminada, se asignan 64 lectores y 16 escritores.
Este constructor también establece restricciones de complejidad predeterminadas en la XmlDictionaryReaderQuotas asociada a esta codificación por la ReaderQuotas propiedad para protegerse frente a una clase de ataques de denegación de servicio (DOS) que intentan usar la complejidad del mensaje para vincular los recursos de procesamiento de puntos de conexión.
WebMessageEncodingBindingElement tiene un CreateMessageEncoderFactory método que crea un generador de codificadores de mensajes que genera descodificadores y codificadores de mensajes JSON, XML o Raw según corresponda en función del tipo de contenido especificado.
WebMessageEncodingBindingElement también proporciona los métodos para crear las fábricas y los agentes de escucha para los canales a través de los cuales fluyen las solicitudes HTTP.
El codificador compuesto y sus clases y componentes de configuración asociados se pueden usar en confianza parcial y este uso no requiere permisos especiales.
Constructores
| Nombre | Description |
|---|---|
| WebMessageEncodingBindingElement() |
Inicializa una nueva instancia de la clase WebMessageEncodingBindingElement. |
| WebMessageEncodingBindingElement(Encoding) |
Inicializa una nueva instancia de la WebMessageEncodingBindingElement clase con una codificación de caracteres de escritura especificada. |
Propiedades
| Nombre | Description |
|---|---|
| ContentTypeMapper |
Obtiene o establece cómo se asigna el tipo de contenido de un mensaje entrante a un formato. |
| CrossDomainScriptAccessEnabled |
Obtiene o establece un valor que determina si está habilitado el acceso a scripts entre dominios. |
| MaxReadPoolSize |
Obtiene o establece un valor que especifica el número máximo de lectores asignados a un grupo y que está disponible para procesar los mensajes entrantes sin asignar nuevos lectores. |
| MaxWritePoolSize |
Obtiene o establece un valor que especifica el número máximo de escritores asignados a un grupo y que está disponible para procesar mensajes salientes sin asignar nuevos escritores. |
| MessageVersion |
Obtiene o establece la versión del mensaje que indica que el elemento de enlace no usa SOAP ni WS-Addressing. |
| ReaderQuotas |
Obtiene restricciones sobre la complejidad de los mensajes SOAP que los puntos de conexión configurados con este enlace pueden procesar. |
| WriteEncoding |
Obtiene o establece la codificación de caracteres que se usa para escribir el texto del mensaje. |
Métodos
| Nombre | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingContext) |
Compila la pila del generador de canales en el cliente que crea un tipo de canal especificado para un contexto especificado. |
| BuildChannelListener<TChannel>(BindingContext) |
Compila la pila del agente de escucha del canal en el cliente que acepta un tipo de canal especificado para un contexto especificado. |
| 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 especificado de canal y contexto. |
| Clone() |
Crea un nuevo WebMessageEncodingBindingElement objeto inicializado a partir del actual. |
| CreateMessageEncoderFactory() |
Crea un generador de codificadores de mensajes que genera codificadores de mensajes que pueden escribir mensajes JavaScript Object Notation (JSON) o XML. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetProperty<T>(BindingContext) |
Devuelve el objeto del tipo solicitado, si está presente, desde la capa adecuada de la pila del canal o |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Genera información del contrato WSDL a partir de directivas de codificación contenidas en el elemento de enlace. |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Genera información del contrato WSDL a partir de directivas de codificación contenidas en el elemento de enlace. |