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 insieme ordinato di elementi di associazione. Le associazioni personalizzate possono essere compilate a partire da un insieme 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 alcuni esempi funzionanti, vedere Custom Binding Samples. Per ulteriori informazioni, vedere <customBinding>.
Costruzione di un'associazione personalizzata
Un'associazione personalizzata viene costruita utilizzando il costruttore CustomBinding a partire da un insieme 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 protezione, fra cui: autorizzazione, autenticazione, protezione e riservatezza.
- 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 utilizzare un trasporto personalizzato oppure uno dei seguenti elementi di associazione del trasporto forniti da Windows Communication Foundation (WCF):
- TcpTransportBindingElement
- HttpTransportBindingElement
- HttpsTransportBindingElement
- NamedPipeTransportBindingElement
- PeerTransportBindingElement
- MsmqTransportBindingElement
- MsmqIntegrationBindingElement
- ConnectionOrientedTransportBindingElement
Nella tabella seguente viene fornito un riepilogo delle opzioni per ogni livello.
Livello | Opzioni | Obbligatorio |
---|---|---|
Transazioni |
TransactionFlowBindingElement |
No |
Affidabilità |
ReliableSessionBindingElement |
No |
Protezione |
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.
Vedere anche
Attività
Procedura: personalizzare un'associazione fornita dal sistema
Concetti
Cenni preliminari sulla creazione di endpoint
Utilizzo di associazioni per configurare servizi e client
Associazioni fornite dal sistema