1

アーキテクチャ:

  1. wcfデュプレックスサービスを含むコンソールアプリケーション。
  2. Windowsアプリのコンシューマー。すべてのアプリはDuplexにサブスクライブしているため、サブスクライバーのリストがあり、一部のイベントが発生した場合に備えて、サービスは一部のアプリに通知を送信する必要があります。

問題:

  1. サービスがクライアントに通知を送信できるように、接続を継続的に維持する方法は?

このバインディングには2つのチャネルがあることがわかりました。サービスからのチャネル(コールバック用)を永続的に開く必要があります。

ありがとう;

4

2 に答える 2

4

私はあなたと同じ問題を抱えていました。それを解決するには、キープアライブ メソッドを実装する必要があります。サービスへのダミー呼び出しは、24 時間年中無休の WCF サービスを提供するのはちょっとばかげています。これは、実際には WCF の最適なアーキテクチャ方法ではありませんが、必要なものが常に最適であるとは限らない場合があることを知っています。

そうです、5分ごとにWCFサービスへの呼び出しを実装するだけで、接続を維持できます。私の場合、WCF サービスのサブスクライバーが多くないため、このソリューションは問題ありませんでした。

于 2011-09-13T14:22:09.030 に答える
0

クライアントがサービスに接続されている限り、コールバック チャネルは有効です。クライアントが切断される (またはチャネルに障害が発生する) と、コールバック チャネルは閉じます。

于 2011-06-30T22:16:01.160 に答える