WebMessageEncodingBindingElement Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 |
| 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. |