私は、サービスリファレンスを介してWCFサービスを使用するアプリケーションを持っています。私たちはいくつかの失敗テストをしています。サービス自体が失敗しているとモデル化できるようにしたいと考えていますが、この場合はサービスを停止できません。さらに、アプリケーションが実行されている間に接続が復元された後で機能に戻る必要があります。WCFサービスクライアントがホストファイルとファイアウォールの変更を無視する
私はこれにファイアウォールルールを使用しようとしましたが、何らかの理由でそれが最初に正常に接続された場合は、後で正常に接続を続けます。これは、最初の1つの接続を作成してから、後でその接続を維持するためです。
ホストファイルを変更できると思ったのですが、同じ問題が発生しました。それはちょうど良い接続、私はホストを変更し(そして、それがpingのようなものをリダイレクトすることを確認する)、アプリケーションは正常に接続し続けます。
私は、ipconfig/flushdnsのような多くのことを試しました。私にできることはほかにありますか?私は一時的にアウトバウンド接続を中断させ、再接続を強制するスクリプトを作成することを検討しました。問題は、私がマシンにRDPingしていると、これは私自身の接続を破壊する可能性があるということです!それは望ましくない。
RDPを中断することなく、サービスクライアントがHostsファイルの変更を尊重したり、ファイアウォールの変更を尊重したり、簡単かつ一時的にアウトバウンド接続を中断させる方法はありますか?
編集:メモとして、接続はKeep Alive
を使用しており、これは変更できないものです。さらに、app.config
を使用していないため、変更することもできません。最後に、マシンに追加のソフトウェアをインストールすることはできません。これを行うには、すべてがOSの内部でなければなりません。
クライアントと同じホスト上のHyper-V VMでサービスのテストインスタンスをスピンアップできるかどうかを確認します。その場合は、仮想スイッチで接続障害をシミュレートすることができます。 – lesscode
残念ながら、クライアントマシンでは仮想化が利用できないので、私は残念です。 –
Nirsoftの[CurrPorts](http://www.nirsoft.net/utils/cports.html)が役立つようです。これは現在開いている接続をリストし、管理者権限で実行すると個々の接続を強制終了させます。 – WarrenG