Procedura: scambiare messaggi in una sessione affidabile

In questo argomento vengono delineati i passaggi necessari per attivare una sessione affidabile utilizzando una delle associazioni fornite dal sistema che supportano tale sessione, ma non per impostazione predefinita. La sessione affidabile può essere attivata in modo imperativo mediante l'utilizzo di codice oppure in modo dichiarativo nel file di configurazione. In questa procedura vengono utilizzati i file di configurazione del client e del servizio per attivare la sessione affidabile e stabilire che i messaggi arrivino nello stesso ordine di invio.

La parte principale della procedura è rappresentata dall'elemento di configurazione dell'endpoint che contiene un attributo bindingConfiguration che fa riferimento a una configurazione di associazione denominata "Binding1". L'elemento di configurazione <binding> può quindi fare riferimento a questo nome per attivare sessioni affidabili impostando l'attributo enabled dell'elemento reliableSession su true. Le garanzie di recapito ordinato per la sessione affidabile vengono specificate impostando l'attributo ordered su true.

Per l'originale di questo esempio, vedere WS Reliable Session.

Per configurare il servizio con una classe WSHttpBinding per utilizzare una sessione affidabile

  1. Definire un contratto di servizio per il tipo di servizio.

  2. Implementare il contratto di servizio in una classe del servizio. Si noti che le informazioni sull'indirizzo o sull'associazione non sono specificate nell'implementazione del servizio. Non è necessario, inoltre, scrivere codice per recuperarle dal file di configurazione.

  3. Creare un file Web.config per configurare un endpoint per il servizio CalculatorService che utilizza la classe WSHttpBinding con sessione affidabile attivata e recapito ordinato dei messaggi obbligatorio.

  4. Creare un file Service.svc che contenga la riga:

    <%@ServiceHost language=c# Service="CalculatorService" %> 
    
  5. Posizionare il file Service.svc nella directory virtuale di Internet Information Services (IIS).

Per configurare il client con una classe WSHttpBinding per utilizzare una sessione affidabile

  1. Utilizzare lo strumento ServiceModel Metadata Utility Tool (Svcutil.exe) dalla riga di comando per generare codice dai metadati del servizio:

    Svcutil.exe <service's Metadata Exchange (MEX) address or HTTP GET address> 
    
  2. Il client generato contiene l'interfaccia ICalculator che definisce il contratto di servizio che l'implementazione del client deve soddisfare.

  3. L'applicazione client generata contiene inoltre l'implementazione di ClientCalculator. Si noti che le informazioni sull'indirizzo e sull'associazione non sono specificate nell'implementazione del servizio. Non è necessario, inoltre, scrivere codice per recuperarle dal file di configurazione.

  4. Svcutil.exe genera inoltre la configurazione per il client che utilizza la classe WSHttpBinding. Questo file deve essere denominato App.config quando si utilizza Visual Studio.

  5. Creare un'istanza di ClientCalculator in un'applicazione, quindi chiamare le operazioni del servizio.

  6. Compilare ed eseguire il client.

Esempio

Diverse associazioni fornite dal sistema supportano sessioni affidabili per impostazione predefinita. Tra di esse sono incluse:

Per un esempio di come creare un'associazione personalizzata che supporti sessioni affidabili, vedere Procedura: creare un'associazione di sessione affidabile personalizzata con HTTPS.

Vedere anche

Altre risorse

Sessioni affidabili