C# で Windows サービスを作成しました。それは機能し、うまく機能しています。Windows サービスに WCF サービスを追加して、クライアント アプリケーションが Windows サービスに接続し、Windows サービスからステートフルな情報を取得できるようにしました。
次のように、同じサービス インスタンスを使用してすべてのクライアントからのすべての要求を処理するように、WCF サービスをシングルトンに構成しました
。
すべてのクライアントが接続でき、WCF サービス内の同じステートフル情報にアクセスできます。ただし、次のような独特の動作に遭遇しています。
改訂: Windows サービス内で
WCFサービス コントラクトをインスタンス化します。インスタンス化時に割り当てられたステートフルな情報は、サービスに接続するすべてのクライアントで利用できます。
ただし、 (クライアントによってではなく) Windows サービスから直接サービス コントラクトインスタンスに追加されたステートフルな情報は、サービスに接続するクライアントには表示されません。これは、サービス コントラクトの 2 つのインスタンスがあるかのようです。1 つは Windows サービス用で、もう 1 つは WCF サービスに接続するクライアント用です。
WCF サービスをインスタンス化し、Windows サービス内で利用可能なステートフル情報にアクセスできるようにするための推奨される (最良の) 方法は何ですか?