Gewusst wie: Erstellen eines Diensts, der Sitzungen erfordert
Sitzungen erstellen einen Freigabezustand zwischen zwei oder mehr Endpunkten, der nützliche Features wie Rückrufe, Multi-Hop-Sicherheit und Zuordnungen zwischen Clients und Dienstinstanzen ermöglicht. Weitere Informationen zu Sitzungen in Windows Communication Foundation (WCF)-Anwendungen finden Sie unter Verwenden von Sitzungen.
So geben Sie an, dass die Bindung eines Vertrags Sitzungen unterstützen muss
Erstellen Sie einen Dienstvertrag mit mindestens einem Vorgang. Ein Beispiel für das Erstellen eines Dienstvertrags finden Sie unter Gewusst wie: Definieren eines Windows Communication Foundation-Dienstvertrags.
Ändern Sie System.ServiceModel.ServiceContractAttribute, das den Vertrag deklariert, durch Festlegen der System.ServiceModel.ServiceContractAttribute.SessionMode-Eigenschaft auf einen der folgenden Werte:
- System.ServiceModel.SessionMode.Required, wenn dieser Vertrag innerhalb einer Sitzung ausgeführt werden muss.
- System.ServiceModel.SessionMode.Allowed, wenn dieser Vertrag innerhalb einer Sitzung ausgeführt werden kann.
- System.ServiceModel.SessionMode.NotAllowed, wenn dieser Vertrag nicht innerhalb einer Sitzung ausgeführt werden darf.
Konfigurieren Sie den Dienstendpunkt so, dass er eine Bindung verwendet, die Sitzungen unterstützt. Im folgenden Konfigurationsbeispiel wird die Verwendung von System.ServiceModel.WSDualHttpBinding veranschaulicht, die eine WS-ReliableMessaging-Sitzung unterstützt.
Beispiel
Der folgende Beispielcode zeigt, wie Sie mit der System.ServiceModel.WSDualHttpBinding-Bindung eine Sitzungsanforderung auf Vertragsebene angeben und eine Konfigurationsdatei verwenden, um diese Anforderung zu unterstützen.
Siehe auch
Referenz
System.ServiceModel.ServiceContractAttribute
System.ServiceModel.ServiceContractAttribute.SessionMode
System.ServiceModel.SessionMode