WebMessageEncodingBindingElement Classe

Definizione

Consente alle codifiche di messaggi XML di testo normale e JSON (JavaScript Object Notation) e al contenuto binario "non elaborato" di essere letti e scritti quando vengono usati in un'associazione Windows Communication Foundation (WCF).

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
Ereditarietà
WebMessageEncodingBindingElement
Implementazioni

Commenti

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 caratteri. WebMessageEncodingBindingElement delega a una serie di codificatori interni per gestire le codifiche XML di testo normale e JSON e i dati binari "non elaborati". Questa delega viene eseguita mediante un codificatore di messaggi composto.

Questo elemento di associazione e il relativo codificatore composto vengono utilizzati per controllare la codifica in scenari che non utilizzano la messaggistica SOAP utilizzata da WebHttpBinding. Questi scenari includono POX (Plain Old XML), REST (Representational State Transfer), RSS (Really Simple Syndication ) e AJAX (Atom syndication and Asynchronous JavaScript and XML). Il codificatore di messaggi composto non supporta SOAP o WS-Addressing, pertanto MessageVersion restituisce sempre None.

L'elemento di associazione può essere configurato con una codifica di caratteri di scrittura al momento della costruzione utilizzando il costruttore WebMessageEncodingBindingElement(Encoding). Il valore Encoding specifica il comportamento in scrittura per le codifiche JSON e XML di testo. In lettura viene interpretata qualsiasi codifica di messaggi e codifica di testo valida.

Questo costruttore imposta valori predefiniti per il numero massimo di lettori e writer allocati ai pool e che sono disponibili per elaborare rispettivamente messaggi in arrivo e messaggi in uscita senza allocare nuovi lettori o writer. Le proprietà MaxReadPoolSize e MaxWritePoolSize possono inoltre essere utilizzate per impostare rispettivamente il numero massimo di lettori e il numero massimo di writer da allocare. Per impostazione predefinita vengono allocati 64 lettori e 16 writer.

Vincoli di complessità predefiniti vengono inoltre impostati da questo costruttore nella classe XmlDictionaryReaderQuotas associata a questa codifica mediante la proprietà ReaderQuotas per fornire protezione da una classe di attacchi di tipo Denial of Service (DoS) che tentano di utilizzare la complessità dei messaggi per bloccare le risorse di elaborazione dell'endpoint.

WebMessageEncodingBindingElement ha un metodo CreateMessageEncoderFactory che crea una factory di codificatori di messaggi che produce decodificatori e codificatori di messaggi JSON, XML o non elaborati in base al tipo di contenuto specificato.

WebMessageEncodingBindingElement fornisce anche i metodi per compilare le factory e i listener per i canali attraverso i quali vengono propagate le richieste HTTP.

Il codificatore composto e i relativi componenti di configurazione e classi associate possono essere utilizzati in contesti con attendibilità parziale, nel qual caso non richiedono autorizzazioni speciali.

Costruttori

WebMessageEncodingBindingElement()

Inizializza una nuova istanza della classe WebMessageEncodingBindingElement.

WebMessageEncodingBindingElement(Encoding)

Inizializza una nuova istanza della classe WebMessageEncodingBindingElement con una codifica caratteri di scrittura specificata.

Proprietà

ContentTypeMapper

Ottiene o imposta il modo in cui il tipo di contenuto di un messaggio in arrivo viene mappato a un formato.

CrossDomainScriptAccessEnabled

Ottiene o imposta un valore che determina se l'accesso allo script tra domini è abilitato.

MaxReadPoolSize

Ottiene o imposta un valore che specifica il numero massimo di lettori allocati a un pool e disponibili per l'elaborazione di messaggi in arrivo senza allocare nuovi lettori.

MaxWritePoolSize

Ottiene o imposta un valore che specifica il numero massimo di writer allocati a un pool e disponibili per l'elaborazione di messaggi in uscita senza allocare nuovi writer.

MessageVersion

Ottiene o imposta la versione del messaggio che indica che l'elemento di associazione non utilizza SOAP né WS-Addressing.

ReaderQuotas

Ottiene vincoli sulla complessità dei messaggi SOAP che possono essere elaborati da endpoint configurati con questa associazione.

WriteEncoding

Ottiene o imposta la codifica caratteri utilizzata per scrivere il testo dei messaggi.

Metodi

BuildChannelFactory<TChannel>(BindingContext)

Compila lo stack della channel factory nel client che crea un tipo di canale specificato per un contesto specificato.

BuildChannelListener<TChannel>(BindingContext)

Compila lo stack del listener del canale nel client che accetta un tipo di canale specificato per un contesto specificato.

CanBuildChannelFactory<TChannel>(BindingContext)

Restituisce un valore che indica se l'elemento di associazione può compilare una channel factory per un tipo di canale specifico.

(Ereditato da BindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

Restituisce un valore che indica se l'associazione corrente può compilare un listener per un tipo di canale e di contesto specificati.

Clone()

Crea un nuovo oggetto WebMessageEncodingBindingElement inizializzato da quello corrente.

CreateMessageEncoderFactory()

Crea una factory di codificatori di messaggi che produce codificatori di messaggi che possono scrivere messaggi JSON (JavaScript Object Notation) o XML.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetProperty<T>(BindingContext)

Restituisce l'oggetto del tipo necessario, se presente, dal livello appropriato nello stack del canale oppure, se l'oggetto non è presente, restituisce null.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Genera informazioni di contratto WSDL da criteri di codifica contenuti nell'elemento di associazione.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Genera informazioni di contratto WSDL da criteri di codifica contenuti nell'elemento di associazione.

Si applica a