5

サービスホストに接続されているすべてのクライアントの場所識別子を列挙するにはどうすればよいですか? 長時間の計算に二重接続を使用しています。Service ホストはシングルトンです。

呼び出し元のクライアントの IP を (.net 3.5 で) 把握できますが、接続されているすべてのクライアントの IP を取得する方法がわかりません。

4

2 に答える 2

2

既定では、WCF は「呼び出しごと」のサービスの使用を促進します。たとえば、クライアント呼び出し、要求が処理された後、クライアントはすぐに再び切断されます。

WCF は長時間の接続にはあまり適しておらず、長時間の接続を意図していません。そのため、実際には「現在接続されているユーザーを列挙する」ことはできません。

WCF は、ログインして長期間ログインしたままにする Windows ドメイン サーバーとは異なります。

于 2009-11-04T13:44:31.570 に答える
1

そのための組み込みはないと思いますが、呼び出しがサービスimplにディスパッチされ、クライアントIPを共有リストに貼り付ける前にRemoteClientEnpointMessagePropertyを検査する追跡IServiceBehavior+IDispatchMessageInspectorを構築するのは非常に簡単です。 、および通話/セッションの終了時に削除します。

于 2009-11-04T06:53:28.197 に答える