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ì | 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ì | Sì |
NetNamedPipeBinding | .NET | None, (Transport) |
None, (Transport) | (None), sì | Sì |
NetMsmqBinding | .NET | None, Message, (Transport), Both | (Nessuno) | (None), sì | No |
NetPeerTcpBinding | Peer | None, Message, (Transport), misto | (Nessuno) | (Nessuno) | Sì |
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. |