私は、WCFサービスまたはおそらくメッセージキューに接続する.NETクライアントアプリケーションがあるとします。プログラムが正常に実行されている間は、接続が失われている可能性があります。または、ユーザーが管理者によって強制的にログオフされている可能性があります。または、管理者が別のWCFサーバー(たとえば、手動ロードバランシングの形式)。多くの低レベルのメソッドの絆のいずれかがWCF呼び出しを行うために、それが失敗した場合にのみ、このことについて知っているだろう接続の切断に反応する
クライアントアプリケーション。
このようなことが起きたとき、私はアプリケーションとそのすべてのウィンドウを何らかの形で無効にする/隠す、ダイアログボックス/スプラッシュウィンドウを表示して再接続を行い、一度正常に終了するとウィンドウが再び表示されるようにします。
どのようにして、これを行うのでしょうか?私が見ている問題は、問題が最も低いレベルにあることが最初に判明したコードです(つまり、メインウィンドウの上にあるダイアログウィンドウのボタンをクリックした結果として)。必要な並べ替えのプログラムは直感的にそれを処理するために内部にする必要があります。したがって、私はこれに役立ついくつかのパターンやフレームワークがあると仮定していますか?
いいえ、私が話しているのは、このような例外が発生した場合、アプリケーションを中断して再構成を行い、次にアプリケーションを再開できる、何らかの全体的なイベントループですアプリのどこにいても問題について知ることができます。 –
どこかで、再接続が可能で、 'app.Suspend'などを呼び出すことができるハンドラが必要です。私は、助けるべき枠組みや魔法はないと思う。 – Brian
'app'がグローバル変数である場合、ハンドラまたは反転制御に接続するための作業を行う必要はありません。 – Brian