Utilizzo di associazioni per configurare servizi e client

Le associazioni sono oggetti che specificano i dettagli di comunicazione necessari per connettersi a un endpoint. In particolare, le associazioni contengono le informazioni di configurazione utilizzate per creare il client o il runtime del servizio definendo le specifiche dei trasporti, i formati di trasmissione (codifica del messaggio) e i protocolli da utilizzare per il relativo endpoint o canale client. Per creare un servizio Windows Communication Foundation (WCF) funzionante, ogni endpoint nel servizio richiede un'associazione. In questo argomento viene illustrato cosa sono le associazioni, come vengono definite e come viene specificata una particolare associazione per un endpoint.

Elementi definiti da un'associazione

Le informazioni presenti in un'associazione possono essere molto semplici o molto complesse. L'associazione più semplice specifica solo il protocollo di trasporto (ad esempio HTTP) che deve essere utilizzato per connettersi all'endpoint. In termini più generali, le informazioni contenute in un'associazione sulla modalità di connessione a un endpoint rientrano in una delle categorie della tabella seguente.

  • Protocolli
    Determina il meccanismo di protezione utilizzato: la funzionalità di messaggistica affidabile o le impostazioni di flusso del contesto della transazione.
  • Trasporto
    Determina il protocollo di trasporto sottostante da utilizzare (ad esempio, TCP o HTTP).
  • Codifica
    Determina la codifica del messaggio, ad esempio, testo/XML, binaria o MTOM (Message Transmission Optimization Mechanism), che determina il modo in cui i messaggi vengono rappresentati come flussi di byte durante la trasmissione.

Associazioni fornite dal sistema

WCF include un insieme di associazioni fornite dal sistema progettate per soddisfare la maggior parte dei requisiti e degli scenari delle applicazioni. Le classi seguenti rappresentano alcuni esempi di associazioni fornite dal sistema:

  • BasicHttpBinding: associazione di protocollo HTTP adatta alla connessione a servizi Web conformi alla specifica WS-I Basic Profile 1.1 (ad esempio, servizi basati sui servizi Web ASP.NET [ASMX]).
  • WsHttpBinding: associazione di protocollo HTTP adatta alla connessione agli endpoint conformi ai protocolli e alle specifiche dei servizi Web.
  • NetNamedPipeBinding: utilizza la codifica binaria .NET e le tecnologie di frame insieme al trasporto delle named pipe di Windows per la connessione ad altri endpoint WCF sullo stesso computer.
  • NetMsmqBinding: utilizza la codifica binaria .NET e tecnologie di frame insieme al servizio di accodamento messaggi (MSMQ) per creare connessioni dei messaggi in coda con gli altri endpoint WCF.

Per un elenco completo, con le descrizioni, di tutte le associazioni fornite dal sistema, vedere Associazioni fornite dal sistema.

Associazioni personalizzate

Se l'insieme di associazioni fornite dal sistema non include la corretta combinazione di funzionalità richiesta da un'applicazione di servizio, è possibile creare un'associazione CustomBinding sugli elementi Per ulteriori informazioni di un'associazione CustomBinding, vedere <customBinding>.

Utilizzo di associazioni

L'utilizzo di associazioni comporta due passaggi di base:

  1. Selezionare o definire un'associazione. Il metodo più facile consiste nello scegliere una delle associazioni fornite dal sistema e utilizzarla con le relative impostazioni predefinite. È inoltre possibile scegliere un'associazione fornita dal sistema e reimpostarne i valori delle proprietà per adattarli ai propri requisiti. In alternativa, è possibile creare un'associazione personalizzata e impostare ogni proprietà in base alle esigenze.
  2. Creare un endpoint che utilizza questa associazione.

Codice e configurazione

È possibile definire o configurare associazioni tramite il codice o la configurazione. Questi due approcci sono indipendenti dal tipo di associazione utilizzato, ad esempio, se si utilizza un'associazione fornita dal sistema o CustomBinding. In generale, l'utilizzo del codice garantisce il controllo completo sulla definizione di un'associazione durante la compilazione. La configurazione, d'altra parte, consente a un amministratore di sistema o all'utente di un servizio o di un client WCF di modificare i parametri delle associazioni. Questa flessibilità è spesso utile in quando non è possibile prevedere in alcun modo i requisiti specifici del computer e le condizioni della rete in cui deve essere distribuita un'applicazione WCF. Se le informazioni sull'associazione (e l'indirizzo) vengono separate dal codice, gli amministratori possono modificare i dettagli dell'associazione senza dover compilare o distribuire nuovamente l'applicazione. Si noti che se l'associazione viene definita nel codice, sovrascrive qualsiasi definizione basata sulla configurazione creata nel file di configurazione. Per esempi di questi approcci, vedere gli argomenti seguenti:

Vedere anche

Attività

Procedura: specificare un'associazione al servizio in configurazione
Procedura: specificare un'associazione al servizio in codice
Procedura: specificare un'associazione client nella configurazione
Procedura: specificare un'associazione al client in codice

Concetti

Cenni preliminari sulla creazione di endpoint