Configurazione di associazioni fornite dal sistema

Le associazioni specificano il meccanismo di comunicazione da utilizzare durante la comunicazione con un endpoint e indicano come collegarsi a un endpoint. Le associazioni sono costituite da elementi che definiscono come sono sovrapposti i canali Windows Communication Foundation (WCF) per fornire le funzionalità di comunicazione richieste. Un'associazione contiene tre tipi di elementi:

  • Elementi di associazione dei canali di protocollo che determinano la sicurezza, l'affidabilità, le impostazioni di flusso del contesto o i protocolli definiti dall'utente da utilizzare con i messaggi inviati all'endpoint.

  • Elementi di associazione del canale di trasporto, che determinano il protocollo di trasporto sottostante da utilizzare quando si inviano messaggi all'endpoint, ad esempio, TCP o HTTP.

  • Elementi di associazione della codifica dei messaggi, che determinano la codifica di trasmissione da utilizzare per i messaggi inviati all'endpoint, ad esempio, testo/XML, binari o MTOM (Message Transmission Optimization Mechanism).

Questo argomento presenta tutte le associazioni Windows Communication Foundation (WCF) fornite dal sistema. Se nessuna di esse soddisfa i requisiti specifici dell'applicazione, è possibile creare un'associazione utilizzando la classe CustomBinding. Per altre informazioni sulla creazione di associazioni personalizzate, vedere Associazioni personalizzate.

Importante

Selezionare un'associazione con la sicurezza attivata. Per impostazione predefinita, tutte le associazioni, tranne l'associazione BasicHttpBinding, hanno la sicurezza attivata. Se non si seleziona un'associazione protetta o se si disattiva la sicurezza, assicurarsi che gli scambi di rete siano protetti in qualche altro modo, ad esempio archiviandoli in un centro dati protetto o in una rete isolata.

Importante

Non utilizzare contratti duplex con associazioni che non supportano la sicurezza o che hanno la sicurezza disattivata, a meno che lo scambio di rete non sia protetto in altro modo.

Associazioni fornite dal sistema

WCF è dotato delle associazioni seguenti.

Binding Elemento di configurazione Descrizione
BasicHttpBinding <basicHttpBinding> Associazione idonea per comunicare con servizi Web conformi a WS-Basic Profile, ad esempio servizi basati su servizi Web ASP.NET (ASMX). Questa associazione utilizza HTTP come trasporto e testo/XML come codifica dei messaggi predefinita.
WSHttpBinding <wsHttpBinding> Un'associazione protetta e interoperabile adatta per contratti di servizio non duplex.
WS2007HttpBinding <ws2007HttpBinding> Associazione protetta e interoperabile che fornisce il supporto per le versioni corrette degli elementi di associazione Security, ReliableSession e TransactionFlow.
WSDualHttpBinding <wsDualHttpBinding> Associazione protetta e interoperabile adatta per contratti di servizio duplex o per la comunicazione tramite intermediari SOAP.
WSFederationHttpBinding <wsFederationHttpBinding> Associazione protetta e interoperabile che supporta il protocollo WS-Federation, che consente alle organizzazioni di una federazione di autenticare e autorizzare gli utenti in modo efficiente.
WS2007FederationHttpBinding <ws2007FederationHttpBinding> Associazione protetta e interoperabile che deriva da WS2007HttpBinding e supporta la sicurezza federata.
NetTcpBinding <netTcpBinding> Associazione protetta e ottimizzata adatta per le comunicazioni tra applicazioni WCF da un computer a un altro.
NetNamedPipeBinding <netNamedPipeBinding> Associazione protetta, affidabile e ottimizzata adatta per la comunicazione tra applicazioni WCF in un computer.
NetMsmqBinding <netMsmqBinding> Associazione in coda adatta per la comunicazione tra applicazioni WCF da un computer a un altro.
NetPeerTcpBinding <netPeerTcpBinding> Associazione che consente comunicazioni protette tra più computer.
WebHttpBinding <webHttpBinding> Associazione usata per configurare endpoint per servizi Web WCF esposti tramite richieste HTTP anziché tramite messaggi SOAP.
MsmqIntegrationBinding <msmqIntegrationBinding> Associazione adatta per la comunicazione tra computer, tra un'applicazione WCF e le applicazioni di Accodamento messaggi esistenti (note anche come MSMQ).

Funzionalità di associazione

Nella tabella seguente sono riportate alcune delle funzionalità chiave di ogni associazione fornita dal sistema: Le associazioni sono riportate nella prima colonna, mentre le informazioni relative alle funzionalità sono descritte nella tabella. Nella tabella seguente viene fornita una chiave per le abbreviazioni delle associazioni utilizzate. Per selezionare un'associazione, stabilire qual è la colonna che soddisfa tutte le funzionalità della riga necessarie.

Binding Interoperabilità Modalità di sicurezza (impostazione predefinita) Sessione

(impostazione predefinita).
Transazioni Duplex
BasicHttpBinding Basic Profile 1.1 (None), Transport, Message, misto None, (None) (Nessuno) n/d
WSHttpBinding WS None, Transport, (Message), misto (None), Transport, sessione affidabile (None), sì n/d
WS2007HttpBinding WS-Security, WS-Trust, WS-SecureConversation, WS-SecurityPolicy None, Transport, (Message), misto (None), Transport, sessione affidabile (None), sì n/d
WSDualHttpBinding WS None, (Message) (Sessione affidabile) (None), sì
WSFederationHttpBinding WS-Federation None, (Message), misto (None), sessione affidabile (None), sì No
WS2007FederationHttpBinding WS-Federation None, (Message), misto (None), sessione affidabile (None), sì No
NetTcpBinding .NET None, (Transport), Message,

Mista
Sessione affidabile, (Transport) (None), sì
NetNamedPipeBinding .NET None,

(Transport)
None, (Transport) (None), sì
NetMsmqBinding .NET None, Message, (Transport), Both (Nessuno) (None), sì No
NetPeerTcpBinding Peer None, Message, (Transport), misto (Nessuno) (Nessuno)
WebHttpBinding .Net None, Transport, TransportCredentialOnly (Nessuno) (Nessuno) n/d
MsmqIntegrationBinding MSMQ None, (Transport) (Nessuno) (None), sì n/d

Nella tabella seguente sono spiegate le funzionalità elencate nella tabella precedente.

Funzionalità Descrizione
Tipo di interoperabilità Denomina il protocollo o la tecnologia con cui l'associazione assicura l'interoperatività.
Sicurezza Specifica come il canale viene protetto:

- None: il messaggio SOAP non è protetto e il client non è autenticato.
- Transport: i requisiti di sicurezza sono soddisfatti a livello di trasporto.
- Message: i requisiti di sicurezza sono soddisfatti a livello di messaggio.
- Misto: questa modalità di sicurezza è nota come TransportWithMessageCredentials. Gestisce le credenziali a livello di messaggio, mentre i requisiti di integrità e riservatezza sono soddisfatti dal livello di trasporto.
- Both: viene utilizzata sia la sicurezza a livello di messaggio sia quella a livello di trasporto. Questa possibilità è disponibile solo per NetMsmqBinding.
Sessione Specifica se questa associazione supporta contratti di sessione.
Transazioni Specifica se le transazioni sono attivate.
Duplex Specifica se sono supportati contratti duplex. Si noti che questa funzionalità richiede il supporto delle sessioni nell'associazione.
Streaming Specifica se il flusso dei messaggi è supportato.

Vedi anche