0

次のような自己ホスト型 .NET ワークフロー サービスを作成したいと思います。

ここに画像の説明を入力 ( http://i.stack.imgur.com/Hij20.png )

しかし、クライアントがまだ生きているかどうかをどのように判断できますか? WCF バインディングの InactivityTimeout がトリガーされないようです。私はタイムアウト関数を書くことができました(最後のリクエストと現在の間の時間を測定します)。ただし、これは、クライアントが切断されていること、およびアイドル状態になっていることを保証するものではありません。.NET Framework に共通の方法はありませんか?

ありがとうございました。

4

1 に答える 1

0

このサービスをどこかから実行し、サーバーを実行してサービスからの応答を取得する必要があります。次のコードを使用して、コールバック サーバーを作成できます。

 var host = new ServiceHost(serviceCallback, new Uri("localhost:8080"));

次に、サービスでこのアドレスに情報を送り返す必要があります。そのため、呼び出し元クライアントでサービスの現在のステータスを動的に追跡できます。

于 2013-04-04T15:22:34.827 に答える