Partilhar via


WebMessageEncodingBindingElement Classe

Definição

Habilita XML de texto simples, codificações mensagem JSON (JavaScript Object Notation) e conteúdo binário "bruto" para ser lido e gravado quando usado 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

Codificação é o processo de transformar 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 mensagem composta.

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 WebHttpBindingpelo . Esses cenários incluem POX (Plain Old XML), REST (Transferência de Estado Representacional), RSS (Really Simple Syndication) e sindicalização Atom, e AJAX (Asynchronous JavaScript and XML). O codificador de mensagem composta 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. Na leitura, todas as codificações de mensagem e codificações de texto válidas serão reconhecidas.

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, são alocados 64 leitores e 16 escritores.

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

O 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

WebMessageEncodingBindingElement()

Inicializa uma nova instância da classe WebMessageEncodingBindingElement.

WebMessageEncodingBindingElement(Encoding)

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

Propriedades

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 de script entre domínios está habilitado.

MaxReadPoolSize

Obtém ou define um valor que especifica o número máximo de leitores alocados a um pool e que estão disponíveis 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 a um pool e que estão disponíveis para processar mensagens de saída sem alocar novos gravadores.

MessageVersion

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

ReaderQuotas

Obtém as restrições na 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 caracteres usada para gravar o texto da mensagem.

Métodos

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 do ouvinte de canais 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 de canal específico.

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

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

Clone()

Cria um novo objeto WebMessageEncodingBindingElement inicializado do atual.

CreateMessageEncoderFactory()

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

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 de canais ou null, se não estiver presente.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

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