3

CommunicationStateが変更されたときにアクションまたはメソッドを呼び出すことができるように、プロキシのリスナーを作成する方法を知っている人はいますか?

たとえば、コードを変更するためにWCFサービスを更新したいとします。アプリケーションは初期の開発段階にあるため、コードの変更は非常に頻繁に行われます。ただし、メールで従業員を困らせる代わりに、アプリケーションを再起動する必要があることを伝えてください。むしろ、アプリを再起動してメールを送信する必要はありません。むしろ、サービスの通信状態を確認するリスナーを作成し、サービスが障害のある状態に変更された場合は、再接続を試みます。

編集

たぶん、ここでもう少しコンテキスト。

InstanceContext context = new InstanceContext(this);
Subscriber = new SubscriptionService.MySubscriptionServiceClient(context);
Subscriber.Subscribe("");

ですから、基本的にはサブスクリプションサービスがいつ停止したかを知りたいので、60秒ごとに再接続を試みることができます。サブスクライバーサービスでイベントを探してみましたが、何も表示されませんでした。サービス側に何かを実装する必要がありますか?

ありがとう

4

1 に答える 1

1

InnerChannel生成されたクライアントクラスのプロパティで使用可能なFaultedイベントを使用できます。clientクラスのStateプロパティは、の単なるラッパーであるためInnerChannel.State、これは必要に応じて機能するはずです。

(参考までに、ChannelFactory<TChannel>生成されたプロキシを使用するのではなく、コードで通信チャネルを作成する場合は、で同様の名前のイベントを使用することもできます。)

于 2012-04-11T19:57:32.997 に答える