次の方法で共有


サービス プロキシとセッション

サービス プロキシ には、セッション ベースのチャネル バインドと非セッション ベースのチャネル バインドに対する特別な動作があります。 基になるチャネル バインドがセッション ベースの場合、サービス プロキシはセッション ベースのセマンティクスを提供します。 この場合、呼び出しのサービスには 1 つのチャネルが使用されます。 ただし、チャネル バインドがセッション ベースでない場合、サービス プロキシは呼び出しごとに個別のチャネルを作成します。 ただし、セッション ベース以外のチャネルはプールされ、再利用される可能性があることに注意してください。 チャネルを再利用する場合、基になるチャネルに障害が発生していないか、チャネルの呼び出しによってサービス プロキシによってチャネルがエラーになった場合、サービス プロキシはチャネルを開いたままにします。 注意してください。 障害が発生した場合を除き、チャネルを開くと、サービス プロキシが開いている限り開いたままになり、サービス プロキシが閉じられたときにのみ閉じられます。

チャネル バインドがセッション ベースで、基になるチャネルに障害が発生した場合、サービス プロキシステート マシンは WS_SERVICE_PROXY_STATE_FAULTED 状態に遷移します。 非セッション ベースのチャネル バインドの場合、基になるチャネルの障害によってプロキシが WS_SERVICE_PROXY_STATE_FAULTED 状態に遷移することはありません。

サービス プロキシとその状態との関係の詳細については、「サービス プロキシの」トピックを参照してください。 さまざまなチャネル バインドの例については、次の例を参照してください。