Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Permite que XML em texto simples, codificações de mensagens JavaScript Object Notation (JSON) e conteúdo binário "bruto" sejam lidos e escritos quando usados numa ligação Windows Communication Foundation (WCF).
<configuração>
<system.serviceModel>
<Encadernações>
<customBinding>
<Encadernação>
<webMessageEncoding>
Sintaxe
<webMessageEncoding maxReadPoolSize="Integer"
maxWritePoolSize="Integer"
writeEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding" />
Atributos e Elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Attributes
| Attribute | Description |
|---|---|
maxReadPoolSize |
A quantidade de mensagens que podem ser lidas simultaneamente sem alocar novos leitores. Grupos maiores tornam o sistema mais tolerante a picos de atividade, à custa de um conjunto de trabalho maior. O padrão é 64 leitores para cada um dos codificadores internos (texto, JSON e "raw"). Aumentar este número aumenta o consumo de memória, mas prepara o codificador para lidar com rajadas súbitas de mensagens recebidas, pois consegue usar leitores do pool já criados em vez de criar novos. |
maxWritePoolSize |
A quantidade de mensagens que podem ser enviadas simultaneamente sem alocar novos escritores. Grupos maiores tornam o sistema mais tolerante a picos de atividade, à custa de um conjunto de trabalho maior. O padrão é 16 escritores para cada um dos codificadores internos (texto, JSON e "raw"). Aumentar este número aumenta o consumo de memória, mas prepara o codificador para lidar com explosões súbitas de mensagens de saída porque consegue usar escritores do pool que já foram criados em vez de criar novos. |
writeEncoding |
Especifica a codificação do conjunto de caracteres a ser usada para emitir mensagens na ligação. Os valores válidos são: - UnicodeFffeTextEncoding: Codificação Unicode Big Endian. - Utf16TextEncoding: Codificação Unicode. - Utf8TextEncoding: codificação de 8 bits. O padrão é Utf8TextEncoding. Este atributo é do tipo Encoding. |
Elementos filho
| Elemento | Description |
|---|---|
| <LeitorQuotas> | Define as restrições à complexidade das mensagens SOAP que podem ser processadas pelos endpoints configurados com esta ligação. Este elemento é do tipo XmlDictionaryReaderQuotasElement. |
Elementos Principais
| Elemento | Description |
|---|---|
| <Encadernação> | Define todas as capacidades de ligação da ligação personalizada. |
Observações
A codificação é o processo de transformar uma mensagem numa sequência de bytes. A decodificação é o processo inverso. Estes processos requerem a especificação de uma codificação de caracteres.
O webMessageEncoding elemento funciona delegando a uma série de codificadores internos para tratar as codificações XML e JSON em texto simples, bem como os dados binários "brutos". Esta delegação é feita por um codificador de mensagens compostas.
Este elemento de ligação e o seu codificador composto são usados para controlar a codificação em cenários que não utilizam mensagens SOAP usadas pelo webHttpBinding elemento. Estes cenários incluem "Plain Old XML" (POX), Transferência de Estado Representacional (REST), Syndication Really Simple (RSS) e Atom, e JavaScript e XML Assíncronos (AJAX). O codificador de mensagens compostas não suporta SOAP nem WS-Addressing.
O elemento de ligação pode ser configurado com uma codificação de caracteres de escrita usando o writeEncoding atributo. O valor fornecido Encoding especifica o comportamento na escrita para os casos JSON e XML Textual. Na leitura, qualquer codificação válida de mensagens e de texto é compreendida.
maxReadPoolSize e maxWritePoolSize também pode ser usado para definir o número máximo de leitores e escritores a serem atribuídos, respetivamente. Por defeito, são alocados 64 leitores e 16 escritores.
As restrições de complexidade padrão também são definidas usando o <elemento readerQuotas> para proteger contra uma classe de ataques de negação de serviço (DOS) que tentam usar a complexidade das mensagens para ocupar recursos de processamento nos endpoints.
Example
<webMessageEncoding maxReadPoolSize="256"
maxWritePoolSize="128"
messageVersion="None"
textEncoding="utf-8" />