Share via


IInstanceContextProvider インターフェイス

定義

InstanceContext オブジェクトの作成または選択に参加するために実装します。特に、共有セッションを有効にします。

public interface class IInstanceContextProvider
public interface IInstanceContextProvider
type IInstanceContextProvider = interface
Public Interface IInstanceContextProvider

注釈

IInstanceContextProvider インターフェイスを実装して、システムに適切な System.ServiceModel.InstanceContext オブジェクトを提供します。 通常、このインターフェイスの実装では、共有セッションのサポート、サービス インスタンス プールの有効化、サービス インスタンスの有効期間の制御、またはクライアント間でのコンテキストのグループ化を実現します。

たとえば、共有を実装するには、カスタム IInstanceContextProvider を挿入して、クライアントからのどのセッションまたは呼び出しをどの InstanceContext オブジェクトと関連付けるかを決定します。 インスタンス コンテキストの共有を示す例については 、「InstanceContextSharing 」を参照してください

注意

が Windows Communication Foundation (WCF) に挿入された場合、オブジェクト (プロパティ) の作成を制御する通常のプロパティはチェックされなされ、 IInstanceContextProvider InstanceContext ServiceBehaviorAttribute.InstanceContextMode 効果がありません。

InstanceContext オブジェクトを作成時に初期化できるさらに一般的なメカニズムは (たとえば、各 InstanceContext にカスタム拡張機能を関連付けるなど)、System.ServiceModel.Dispatcher.IInstanceContextInitializer です。

メソッド

GetExistingInstanceContext(Message, IContextChannel)

新しいメッセージを受信すると呼び出されます。

InitializeInstanceContext(InstanceContext, Message, IContextChannel)

null メソッドから GetExistingInstanceContext(Message, IContextChannel) が返されると呼び出されます。

IsIdle(InstanceContext)

すべての InstanceContext アクティビティが完了すると呼び出され、実装者は InstanceContext がリサイクルされないようにすることができます。

NotifyIdle(InstanceContextIdleCallback, InstanceContext)

IsIdle(InstanceContext) メソッドが false を返すと呼び出されます。これにより、実装者は InstanceContext オブジェクトの終了を WCF に通知するコールバックを提供できます。

適用対象