Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Consente di leggere e scrivere contenuto binario "non elaborato" in formato XML di testo normale, JavaScript Object Notation (JSON) quando viene usato in un'associazione Windows Communication Foundation (WCF).
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding>
<webMessageEncoding>
Sintassi
<webMessageEncoding maxReadPoolSize="Integer"
maxWritePoolSize="Integer"
writeEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding" />
Attributi ed elementi
Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.
Attributes
| Attribute | Description |
|---|---|
maxReadPoolSize |
Quantità di messaggi che possono essere letti simultaneamente senza allocare nuovi lettori. Le dimensioni del pool più grandi rendono il sistema più tollerante ai picchi di attività a costo di un working set più grande. Il valore predefinito è 64 lettori per ognuno dei codificatori interni (testo, JSON e "raw"). L'aumento di questo numero aumenta il consumo di memoria, ma prepara il codificatore a gestire picchi improvvisi di messaggi in arrivo perché è in grado di usare i lettori del pool già creati anziché crearne di nuovi. |
maxWritePoolSize |
Quantità di messaggi che possono essere inviati contemporaneamente senza allocare nuovi writer. Le dimensioni del pool più grandi rendono il sistema più tollerante ai picchi di attività a costo di un working set più grande. Il valore predefinito è 16 writer per ognuno dei codificatori interni (testo, JSON e "raw"). L'aumento di questo numero aumenta il consumo di memoria, ma prepara il codificatore a gestire picchi improvvisi di messaggi in uscita perché è in grado di usare i writer del pool già creati invece di crearne di nuovi. |
writeEncoding |
Specifica la codifica del set di caratteri da utilizzare per l'emissione di messaggi nell'associazione. I valori validi sono: - UnicodeFffeTextEncoding: codifica Big Endian Unicode. - Utf16TextEncoding: codifica Unicode. - Utf8TextEncoding: codifica a 8 bit. Il valore predefinito è Utf8TextEncoding. Questo attributo è di tipo Encoding. |
Elementi figli
| Elemento | Description |
|---|---|
| <readerQuotas> | Definisce i vincoli sulla complessità dei messaggi SOAP che possono essere elaborati dagli endpoint configurati con questa associazione. Questo elemento è di tipo XmlDictionaryReaderQuotasElement. |
Elementi padre
| Elemento | Description |
|---|---|
| <rilegatura> | Definisce tutte le funzionalità di associazione dell'associazione personalizzata. |
Osservazioni:
La codifica è il processo di trasformazione di un messaggio in una sequenza di byte. La decodifica è il processo inverso. Questi processi richiedono la specifica di una codifica dei caratteri.
L'elemento webMessageEncoding funziona delegando a una serie di codificatori interni per gestire le codifiche XML e JSON di testo normale e i dati binari "non elaborati". Questa delega viene eseguita da un codificatore di messaggi composito.
Questo elemento di associazione e il relativo codificatore composito vengono usati per controllare la codifica in scenari che non usano la messaggistica SOAP usata dall'elemento webHttpBinding . Questi scenari includono "Plain Old XML" (POX), Representational State Transfer (REST), Really Simple Syndication (RSS) e Atom syndication e Asynchronous JavaScript and XML (AJAX). Il codificatore di messaggi compositi non supporta SOAP o WS-Addressing.
L'elemento di associazione può essere configurato con una codifica dei caratteri di scrittura usando l'attributo writeEncoding . Il valore fornito Encoding specifica il comportamento di scrittura per i casi JSON e XML testuali. In lettura, tutte le codifiche dei messaggi e la codifica del testo valide vengono riconosciute.
maxReadPoolSize e maxWritePoolSize possono anche essere usati per impostare il numero massimo di lettori e writer da allocare rispettivamente. Per impostazione predefinita vengono allocati 64 lettori e 16 writer.
I vincoli di complessità predefiniti vengono impostati anche usando l'elemento <readerQuotas> per proteggersi da una classe di attacchi Denial of Service (DOS) che tentano di usare la complessità dei messaggi per collegare le risorse di elaborazione degli endpoint.
Example
<webMessageEncoding maxReadPoolSize="256"
maxWritePoolSize="128"
messageVersion="None"
textEncoding="utf-8" />