セッションを有効にしたデュプレックスWCFサービスがあり、クライアントでフォールト状態の例外を回避しようとしています。セッションを有効にしたWCFデュプレックスサービスで障害状態を処理する方法
このトピックについてはいくつかの議論がありましたが、私が見つけたのはクライアントプロキシまたはチャネルを再作成することだけです。 Nonは、セッションが有効なデュプレックスサービスに焦点を当てています。
私の問題は、サーバーごとにクライアントごとに1つのセッションがあり、各クライアントにサービスプロキシ(シングルトンサービスプロキシ)のインスタンスが1つしかないことです。これはデュプレックスであるため、クライアント側では、そのサービスインスタンス(サーバーからクライアントに送信されるメッセージ)のイベントをリッスンしているオブジェクトがいくつかあります。 サービスがフォールト状態の場合、これ以上使用できません。そのインスタンスを破棄して新しいインスタンスを作成すると、すべてのイベントハンドラをこの新しいインスタンスに再度接続することが難しくなります。
サービスをラッピングし、オブジェクトがイベントのために接続するたびに、ハンドラをリストに格納します(サービスが再作成されたときに再フックできます)。コードを紛失してメモリがリークしやすいようです...
すべてのプロキシインスタンスを破棄せずにクライアントプロキシ/チャネルを再起動する方法はありますか? (私はVS生成プロキシを使用しています)
アイデア?
おかげで、あなたがプロキシを再起動することはできません MAB
悪いニュース、私は それにもかかわらず、これが有効になってセッションとサービスを使用するすべてのアプリケーションに取り組むことが必要なもののようです:-(すべてのことをコーディングする必要があります。 誰もが私ができるいくつかのライブラリを知ってい再使用? – Matias