Associazioni personalizzate
Quando una delle associazioni fornite dal sistema non soddisfa i requisiti del servizio è possibile utilizzare la classe CustomBinding. Tutte le associazioni sono costruite a partire da un set ordinato di elementi di associazione. Le associazioni personalizzate possono essere compilate a partire da un set di elementi di associazione forniti dal sistema oppure possono includere elementi di associazione personalizzati definiti dall'utente. È ad esempio possibile utilizzare elementi di associazione personalizzati per consentire l'utilizzo di nuovi trasporti o codificatori presso un endpoint di servizio. Per esempi funzionanti, vedere Esempi di binding personalizzati. Per altre informazioni, vedere <customBinding>.
Costruzione di un'associazione personalizzata
Un'associazione personalizzata viene costruita utilizzando il costruttore CustomBinding a partire da una raccolta di elementi di associazione contenuti in uno stack ordinato nel modo seguente:
All'inizio si trova un oggetto TransactionFlowBindingElement facoltativo che consente la propagazione delle transazioni.
Segue quindi un oggetto ReliableSessionBindingElement facoltativo che oltre a una sessione fornisce meccanismi di ordinamento in conformità a quanto definito nella specifica WS-ReliableMessaging. Una sessione può coinvolgere intermediari SOAP e di trasporto.
Segue quindi un oggetto SecurityBindingElement facoltativo che fornisce alcune funzionalità di sicurezza, fra cui: autorizzazione, autenticazione, protezione e riservatezza.
La successiva è una classe CompositeDuplexBindingElement facoltativa che fornisce la possibilità di avere due modalità comunicazione duplex con un protocollo di trasporto che non supporta a livello nativo la comunicazione duplex, ad esempio il protocollo HTTP.
La successiva è una classe OneWayBindingElement facoltativa che fornisce comunicazione unidirezionale.
Il successivo è un elemento di associazione di sicurezza di flusso facoltativo che può essere uno degli elementi seguenti.
Segue quindi un elemento di associazione obbligatorio di codifica dei messaggi. È possibile utilizzare un codificatore di messaggi personalizzato oppure scegliere fra le tre associazioni di codifica dei messaggi seguenti:
Segue infine un elemento di trasporto obbligatorio. È possibile usare il trasporto personalizzato o uno degli elementi di binding del trasporto seguenti forniti da Windows Communication Foundation (WCF):
Nella tabella seguente viene fornito un riepilogo delle opzioni per ogni livello.
Livello | Opzioni | Richiesto |
---|---|---|
Transazioni | TransactionFlowBindingElement | No |
Affidabilità | ReliableSessionBindingElement | No |
Sicurezza | SecurityBindingElement | No |
Codifica | Testo, binario, MTOM (Message Transmission Optimization Mechanism, meccanismo di ottimizzazione della trasmissione dei messaggi), personalizzato | Sì |
Trasporto | TCP, HTTP, HTTPS, pipe con nome (anche noto come IPC), Peer-to-peer (P2P), sistema di accodamento dei messaggi (anche noto come MSMQ), personalizzato | Sì |
È inoltre possibile definire elementi di associazione personalizzati e inserirli tra i livelli appena elencati.