Freigeben über


Gewusst wie: Erstellen einer benutzerdefinierten zuverlässigen Sitzungsbindung mit HTTPS

Dieses Thema veranschaulicht die Verwendung der Secure Sockets Layer (SSL)-Transportsicherheit mit zuverlässigen Sitzungen. Um eine zuverlässige Sitzung über HTTPS verwenden zu können, müssen Sie eine benutzerdefinierte Bindung erstellen, die eine zuverlässige Sitzung und HTTPS-Transport verwendet. Die zuverlässige Sitzung kann entweder verbindlich durch Verwenden von Code oder deklarativ in der Konfigurationsdatei aktiviert werden. Diese Vorgehensweise verwendet die Konfigurationsdateien von Client und Dienst, um die zuverlässige Sitzung und das <httpsTransport>-Element zu aktivieren.

Der wesentliche Teil dieser Prozedur ist der, dass das endpoint-Konfigurationselement ein bindingConfiguration-Attribut enthält, das auf eine benutzerdefinierte Bindungskonfiguration mit dem Namen "reliableSessionOverHttps" verweist. Das <binding>-Konfigurationselement kann dann diesen Namen referenzieren, um festzulegen, dass eine zuverlässige Sitzung und der HTTPS-Transport verwendet werden, indem es die Elemente reliableSession und httpsTransport einfügt.

Die Quellkopie dieses Beispiels finden Sie unter Custom Binding Reliable Session over HTTPS.

So konfigurieren Sie den Dienst mit 'CustomBinding' zur Verwendung einer zuverlässigen Sitzung mit HTTPS

  1. Definieren Sie einen Dienstvertrag für den Diensttyp.

  2. Implementieren Sie den Dienstvertrag in einer Dienstklasse. Beachten Sie, dass die Adresse oder die Bindungsinformationen in der Implementierung des Diensts nicht angegeben werden. Ebenso wenig muss Code geschrieben werden, um Informationen aus der Konfigurationsdatei abzurufen.

  3. Erstellen Sie eine Web.config-Datei, um einen Endpunkt für CalculatorService mit einer benutzerdefinierten Bindung namens "reliableSessionOverHttps" zu konfigurieren, die eine zuverlässige Sitzung und HTTPS-Transport verwendet.

  4. Erstellen Sie eine Service.svc-Datei, die die folgende Zeile enthält:

    <%@ServiceHost language=c# Service="CalculatorService" %> 
    
  5. Stellen Sie die Datei Service.svc in das virtuelle IIS-Verzeichnis.

So konfigurieren Sie den Client mit 'CustomBinding' zur Verwendung einer zuverlässigen Sitzung mit HTTPS

  1. Verwenden Sie das ServiceModel Metadata Utility Tool (Svcutil.exe) in der Befehlszeile, um Code aus Dienstmetadaten zu generieren.

    Svcutil.exe <service's Metadata Exchange (MEX) address or HTTP GET address> 
    
  2. Der generierte Client enthält die ICalculator-Schnittstelle, die den Dienstvertrag definiert, dem die Clientimplementierung entsprechen muss.

  3. Die generierte Clientanwendung enthält außerdem die Implementierung von ClientCalculator. Beachten Sie, dass die Adresse und die Bindungsinformationen in der Implementierung des Diensts nirgendwo angegeben werden. Ebenso wenig muss Code geschrieben werden, um Informationen aus der Konfigurationsdatei abzurufen.

  4. Konfigurieren Sie eine benutzerdefinierte Bindung mit dem Namen "reliableSessionOverHttps", um den HTTPS-Transport und zuverlässige Sitzungen zu verwenden.

  5. Erstellen Sie eine Instanz von ClientCalculator in einer Anwendung, und rufen Sie dann die Dienstvorgänge auf.

  6. Kompilieren Sie den Code, und führen Sie den Client aus.

Beispiel

Sicherheit

Da das in diesem Beispiel verwendete Zertifikat ein mit Makecert.exe erstelltes Testzertifikat ist, wird eine Sicherheitswarnung angezeigt, wenn Sie versuchen, in Ihrem Browser auf eine HTTPS-Adresse wie https://localhost/servicemodelsamples/service.svc zuzugreifen.

Siehe auch

Weitere Ressourcen

Zuverlässige Sitzungen