Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Thema enthält einen Überblick über die Schritte zum Aktivieren einer zuverlässigen Sitzung mithilfe einer der vom System bereitgestellten Bindungen, die eine solche Sitzung zwar unterstützen, dies jedoch nicht standardmäßig. Die zuverlässige Sitzung kann entweder verbindlich durch Verwenden von Code oder deklarativ in der Konfigurationsdatei aktiviert werden. In dieser Prozedur werden die Client- und die Dienstkonfigurationsdatei verwendet, um die zuverlässige Sitzung zu aktivieren und um festzulegen, dass die Nachrichten in der Reihenfolge empfangen werden, in der sie gesendet wurden.
Der wesentliche Teil dieser Prozedur ist der, dass das Element zur Endpunktkonfiguration ein bindingConfiguration-Attribut enthält, das auf eine Bindungskonfiguration mit dem Namen "Binding1" verweist. Das <binding>-Konfigurationselement kann dann zum Aktivieren zuverlässiger Sitzungen auf diesen Namen verweisen, indem es das enabled-Attribut des reliableSession-Elements auf true festlegt. Sie geben die Zusicherung einer Zustellung in der richtigen Reihenfolge für die zuverlässige Sitzung an, indem Sie das ordered-Attribut auf true festlegen.
Die Quellkopie dieses Beispiels finden Sie unter WS Reliable Session.
So konfigurieren Sie den Dienst mit WSHttpBinding zur Verwendung einer zuverlässigen Sitzung
Definieren Sie einen Dienstvertrag für den Diensttyp.
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 diese Informationen aus der Konfigurationsdatei abzurufen.
Erstellen Sie eine Web.config-Datei, um einen Endpunkt für CalculatorService zu konfigurieren, der WSHttpBinding mit aktivierter zuverlässiger Sitzung und erforderlicher Zustellung der Nachrichten in der richtigen Reihenfolge verwendet.
Erstellen Sie eine Datei Service.svc, die die folgende Zeile enthält:
<%@ServiceHost language=c# Service="CalculatorService" %>Stellen Sie die Service.svc-Datei in das virtuelle IIS-Verzeichnis.
So konfigurieren Sie den Client mit WSHttpBinding zur Verwendung einer zuverlässigen Sitzung
Verwenden Sie das ServiceModel Metadata Utility Tool (Svcutil.exe) in der Befehlszeile, um Code von Dienstmetadaten zu generieren:
Svcutil.exe <service's Metadata Exchange (MEX) address or HTTP GET address>Der generierte Client enthält die ICalculator-Schnittstelle, die den Dienstvertrag definiert, dem die Clientimplementierung entsprechen muss.
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.
Svcutil.exe generiert auch die Konfiguration für den Client, der die WSHttpBinding-Klasse verwendet. Diese Datei muss bei Verwendung von Visual Studio App.config genannt werden.
Erstellen Sie eine Instanz von ClientCalculator in einer Anwendung, und rufen Sie dann die Dienstvorgänge auf.
Kompilieren Sie den Code, und führen Sie den Client aus.
Beispiel
Mehrere der vom System bereitgestellten Bindungen unterstützen standardmäßig zuverlässige Sitzungen. Dazu gehören:
Ein Beispiel zum Erstellen einer benutzerdefinierten Bindung, die zuverlässige Sitzungen unterstützt, finden Sie unter Gewusst wie: Erstellen einer benutzerdefinierten zuverlässigen Sitzungsbindung mit HTTPS.