Partilhar via


WebMessageEncodingBindingElement Classe

Definição

Permite que codificações de mensagens JSON (JavaScript Object Notation) e conteúdo binário "bruto" sejam lidas e gravadas quando usadas em uma associação WCF (Windows Communication Foundation).

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
Herança
WebMessageEncodingBindingElement
Implementações

Comentários

A codificação é o processo de transformação de uma mensagem em uma sequência de bytes. A decodificação é o processo inverso. Esses processos exigem a especificação de uma codificação de caracteres. O WebMessageEncodingBindingElement funciona delegando a uma série de codificadores internos para lidar com as codificações XML e JSON de texto sem formatação e dados binários "brutos". Essa delegação é feita por um codificador de mensagens compostas.

Esse elemento de associação e seu codificador composto são usados para controlar a codificação em cenários que não usam mensagens SOAP usadas pelo WebHttpBinding. Esses cenários incluem "XML Antigo Simples" (POX), Rest (Transferência de Estado Representacional), RSS (Sindicalização Muito Simples) e Sindicalização Atom e JavaScript e XML Assíncronos (AJAX). O codificador de mensagens compostas não dá suporte a SOAP ou WS-Addressing e, portanto MessageVersion , sempre retorna None.

O elemento de associação pode ser configurado com uma codificação de caractere de gravação em tempo de construção usando o WebMessageEncodingBindingElement(Encoding) construtor. O Encoding valor especifica o comportamento na gravação para os casos XML JSON e Textual. Ao ler, qualquer codificação de mensagem válida e codificação de texto é compreendida.

Esse construtor define valores padrão no número máximo de leitores e gravadores alocados para pools e que estão respectivamente disponíveis para processar mensagens de entrada e saída sem alocar novos leitores ou gravadores. As propriedades MaxReadPoolSize e MaxWritePoolSize também podem ser usadas para definir o número máximo de leitores e gravadores a serem alocados, respectivamente. Por padrão, 64 leitores e 16 gravadores são alocados.

Restrições de complexidade padrão também são definidas por esse construtor na XmlDictionaryReaderQuotas associada a essa codificação pela ReaderQuotas propriedade para proteger contra ataques de classe de DOS (negação de serviço) que tentam usar a complexidade da mensagem para vincular recursos de processamento de ponto de extremidade.

Ele WebMessageEncodingBindingElement tem um CreateMessageEncoderFactory método que cria uma fábrica de codificadores de mensagens que produz codificadores e codificadores de mensagens JSON, XML ou Raw conforme apropriado, dependendo do tipo de conteúdo especificado.

O WebMessageEncodingBindingElement também fornece os métodos para criar as fábricas e ouvintes para os canais por meio dos quais as solicitações HTTP fluem.

O codificador composto e suas classes associadas e componentes de configuração são utilizáveis em confiança parcial e esse uso não requer permissões especiais.

Construtores

Nome Description
WebMessageEncodingBindingElement()

Inicializa uma nova instância da classe WebMessageEncodingBindingElement.

WebMessageEncodingBindingElement(Encoding)

Inicializa uma nova instância da WebMessageEncodingBindingElement classe com uma codificação de caractere de gravação especificada.

Propriedades

Nome Description
ContentTypeMapper

Obtém ou define como o tipo de conteúdo de uma mensagem de entrada é mapeado para um formato.

CrossDomainScriptAccessEnabled

Obtém ou define um valor que determina se o acesso entre scripts de domínio está habilitado.

MaxReadPoolSize

Obtém ou define um valor que especifica o número máximo de leitores alocados para um pool e que está disponível para processar mensagens de entrada sem alocar novos leitores.

MaxWritePoolSize

Obtém ou define um valor que especifica o número máximo de gravadores alocados para um pool e que está disponível para processar mensagens de saída sem alocar novos gravadores.

MessageVersion

Obtém ou define a versão da mensagem que indica que o elemento de associação não usa SOAP ou WS-Addressing.

ReaderQuotas

Obtém restrições sobre a complexidade das mensagens SOAP que podem ser processadas por pontos de extremidade configurados com essa associação.

WriteEncoding

Obtém ou define a codificação de caractere que é usada para gravar o texto da mensagem.

Métodos

Nome Description
BuildChannelFactory<TChannel>(BindingContext)

Cria a pilha de fábrica de canais no cliente que cria um tipo de canal especificado para um contexto especificado.

BuildChannelListener<TChannel>(BindingContext)

Cria a pilha de ouvintes de canal no cliente que aceita um tipo de canal especificado para um contexto especificado.

CanBuildChannelFactory<TChannel>(BindingContext)

Retorna um valor que indica se o elemento de associação pode criar uma fábrica de canais para um tipo específico de canal.

(Herdado de BindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

Retorna um valor que indica se a associação atual pode criar um ouvinte para um tipo especificado de canal e contexto.

Clone()

Cria um novo WebMessageEncodingBindingElement objeto inicializado do atual.

CreateMessageEncoderFactory()

Cria uma fábrica de codificadores de mensagens que produz codificadores de mensagens que podem gravar mensagens JSON (JavaScript Object Notation) ou XML.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetProperty<T>(BindingContext)

Retorna o objeto do tipo solicitado, se presente, da camada apropriada na pilha do canal ou null se ele não estiver presente.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Gera informações de contrato WSDL de políticas de codificação contidas no elemento de associação.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Gera informações de contrato WSDL de políticas de codificação contidas no elemento de associação.

Aplica-se a