Formattatori dei messaggi personalizzati
Il contenuto di un messaggio è spesso nel formato XML, che in genere non è un formato pratico per un'applicazione. Le applicazioni modificano gli oggetti, ottenendo e impostando le relative proprietà. Windows Communication Foundation (WCF) utilizza il contratto dati per convertire un oggetto Message in un oggetto facilmente gestibile da un'applicazione. Questi processi sono definiti serializzazione e deserializzazione. Questi stessi termini vengono utilizzati per descrivere la serializzazione e la deserializzazione eseguita dal livello del trasporto verso e dal formato di trasmissione del messaggio, che sono processi non correlati.
È possibile utilizzare un formattatore dei messaggi personalizzato se è necessario implementare una conversione specializzata tra messaggi e oggetti che non può essere eseguita mediante un contratto dati. Per questo scopo, modificare o estendere il comportamento di esecuzione di un'operazione del contratto specifica su un client o un servizio.
Formattatori dei messaggi personalizzati sul client
L'interfaccia IClientMessageFormatter definisce i metodi utilizzati per controllare la conversione dei messaggi in oggetti e degli oggetti in messaggi per le applicazioni client.
È necessario implementare questa interfaccia. Eseguire innanzitutto l'override del metodo DeserializeReply per deserializzare un messaggio. Questo metodo viene chiamato dopo la ricezione di un messaggio in ingresso, ma prima che il messaggio venga inviato all'operazione client.
Eseguire quindi l'override del metodo SerializeRequest per serializzare un oggetto. Questo metodo viene chiamato prima di inviare un messaggio in uscita.
Per inserire il formattatore personalizzato nell'applicazione del servizio, assegnare l'oggetto IClientMessageFormatter alla proprietà Formatter utilizzando un comportamento dell'operazione. Per ulteriori informazioni sui comportamenti, vedere Configurazione ed estensione del runtime con i comportamenti.
Formattatori dei messaggi personalizzati sul servizio
L'interfaccia IDispatchMessageFormatter definisce i metodi che convertono un oggetto Message in parametri per un'operazione e da parametri in un oggetto Message in un'applicazione di servizio.
È necessario implementare questa interfaccia. Eseguire innanzitutto l'override del metodo DeserializeReply per deserializzare un messaggio. Questo metodo viene chiamato dopo la ricezione di un messaggio in ingresso, ma prima che il messaggio venga inviato all'operazione client.
Eseguire quindi l'override del metodo SerializeRequest per serializzare un oggetto. Questo metodo viene chiamato prima di inviare un messaggio in uscita.
Per inserire il formattatore personalizzato nell'applicazione del servizio, assegnare l'oggetto IDispatchMessageFormatter alla proprietà Formatter utilizzando un comportamento dell'operazione. Per ulteriori informazioni sui comportamenti, vedere Configurazione ed estensione del runtime con i comportamenti.
Vedere anche
Riferimento
IClientMessageFormatter
IDispatchMessageFormatter
Concetti
Configurazione ed estensione del runtime con i comportamenti