セッションごとの契約で wcf サービスを作成したいと考えています。しかし、すべてのセッションのすべてのインスタンスに、セッションごとのすべてのインスタンスがアクセスできる単一のオブジェクトが必要です。
明確でない場合は、クライアントごとに個別のサービス インスタンスを作成したいのですが、それらすべてが 1 つの個別の共通メモリにアクセスできるようにします。
サービスクラスで静的変数を使用してこれを実現できますが、wcf で構造化する別の方法はありませんか?
System.Runtime.Caching クラスを使用してこれを実現できます。デフォルトのメモリ キャッシュはプロセス レベルにスコープが設定されているため、必要な処理を実行する必要があります。
独自の Service Host Factory を作成して、何らかの方法で (たとえば、Jason が Memory Cash で提案したように)、「単一オブジェクト」サービスへの参照を保存し、「単一オブジェクト」を参照して新しいサービス ホストを作成することができると思います。
WCF は、PerSession と Single の中間にあるInstanceContextModeを提供しません。
必要な動作を実現するには、静的クラスまたはシングルトンを使用できます。