0

「GetProduct」や「UpdateProduct」などを要求するクライアントにサービスを提供する WCF サービスを設計しています。さらに、クライアントがサブスクライブし、PUSH 通知を送信する別のサービスがあります。

'PULL' および 'PUSH' WCF サービスは、Windows サービスで実行されます。

サービスに接続する WPF アプリケーションを開いて、現在両方のサービスに接続されているクライアントの数 (同一であると想定) を表示し、クライアントを切断できるようにする、ある種の監視ソリューションをカプセル化したいと思います。サービスから、おそらくサービスが記録したログを表示します。

サービス側でこれを設計するにはどうすればよいですか?

「監視」アプリ用に 3 番目のサービスを作成する必要がありますか?要求されたときに、「PULL」および「PUSH」サービスに接続されているクライアントの数を確認しますか?

それとも、関数「GetNumOfClients」および「DisconnectClient」を「PUSH」および「PULL」サービスに追加するだけですか? これらのサービスに属さないロジックを導入し、クライアントが互いに切断できるようにするため、これは間違っているようです...

4

1 に答える 1

1

ロギングには log4net またはhealth monitoringを使用します。Log4net は用途が広く、構成可能です。サービスで何が起こっているかについての広範な情報を含むWCF 診断ログを有効にすることができます。ここで、有効にしてWMIプロバイダーを使用してサービスを計測する方法と、使用可能なパフォーマンスカウンターを確認できます。

クライアントを切断する必要があるのはなぜですか? メソッドで例外をスローするとクライアントを「切断」できますが、これはクライアントチャネルに障害がありますが、それ以上はサービス接続の管理に関心を持つべきではありません。

于 2012-04-21T04:18:57.773 に答える