方法 : セッションを必要とするサービスを作成する
セッションでは、複数のエンドポイント間で共有される状態が作成されます。これにより、クライアントとサービス インスタンス間でのコールバック、マルチホップ セキュリティ、関連付けなどの便利な機能を使用できるようになります。Windows Communication Foundation (WCF) アプリケーションのセッション詳細については、 、「セッションの使用」を参照してください。
バインディングによるセッションのサポートを要求するコントラクトを指定するには
操作を 1 つ以上含むサービス コントラクトを作成します。サービス コントラクトを作成する方法の例については、「方法 : Windows Communication Foundation サービス コントラクトを定義する」を参照してください。
コントラクトを宣言する System.ServiceModel.ServiceContractAttribute を変更します。System.ServiceModel.ServiceContractAttribute.SessionMode プロパティを次のいずれかに設定します。
- セッション内でこのコントラクトの実行を要求する場合は System.ServiceModel.SessionMode.Required。
- セッション内でこのコントラクトを実行できる場合は System.ServiceModel.SessionMode.Allowed。
- セッション内でこのコントラクトの実行を許可しない場合は System.ServiceModel.SessionMode.NotAllowed。
セッションをサポートするバインディングを使用するようにサービス エンドポイントを構成します。次の構成例は、WS-ReliableMessaging セッションをサポートする System.ServiceModel.WSDualHttpBinding の使用方法を示しています。
例
コントラクト レベルのセッション要件を指定し、構成ファイルを使用して、その要件を System.ServiceModel.WSDualHttpBinding バインディングでサポートする方法を、次のコード例に示します。
関連項目
リファレンス
System.ServiceModel.ServiceContractAttribute
System.ServiceModel.ServiceContractAttribute.SessionMode
System.ServiceModel.SessionMode