Procedura: creare un'associazione di sessione affidabile personalizzata con HTTPS

In questo argomento viene illustrato l'utilizzo della protezione del trasporto SSL (Secure Sockets Layer) con sessioni affidabili. Per utilizzare una sessione affidabile su HTTPS è necessario creare un'associazione personalizzata che utilizza una sessione affidabile e il trasporto HTTPS. È possibile attivare la sessione affidabile in modo imperativo, mediante codice, o 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 l'elemento <httpsTransport>.

La parte principale della procedura è rappresentata dall'elemento di configurazione endpoint che contiene un attributo bindingConfiguration che fa riferimento a una configurazione di associazione personalizzata denominata "reliableSessionOverHttps". L'elemento di configurazione <binding> può quindi fare riferimento a questo nome, per specificare che vengono utilizzati una sessione affidabile e il trasporto HTTPS, includendo gli elementi reliableSession e httpsTransport.

Per l'originale di questo esempio, vedere Custom Binding Reliable Session over HTTPS.

Per configurare il servizio con una CustomBinding per utilizzare una sessione affidabile con HTTPS

  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 CalculatorService con un'associazione personalizzata denominata "reliableSessionOverHttps" che utilizza una sessione affidabile e il trasporto HTTPS.

  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 CustomBinding per utilizzare una sessione affidabile con HTTPS

  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. Configurare un'associazione personalizzata denominata "reliableSessionOverHttps" per utilizzare il trasporto HTTPS e sessioni affidabili.

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

  6. Compilare ed eseguire il client.

Esempio

Protezione

Poiché il certificato utilizzato in questo esempio è un certificato di prova creato con Makecert.exe, viene visualizzato un avviso di protezione quando si tenta di accedere a un indirizzo HTTPS quale https://localhost/servicemodelsamples/service.svc dal browser.

Vedere anche

Altre risorse

Sessioni affidabili