特定のネットパイプサービスが実行中で、リッスンしているかどうかをプログラムでテストして、「リッスンしているエンドポイントはありません。 "例外?ネットパイプサービスがリッスンしているかどうかを確認するにはどうすればよいですか
Uri baseAddress = new Uri("http://localhost/something");
var _ServiceHost = new ServiceHost(typeof(Automation), new Uri[] { baseAddress });
NetNamedPipeBinding nnpb = new NetNamedPipeBinding();
_ServiceHost.AddServiceEndpoint(typeof(IAutomation), nnpb, "ImListening");
_ServiceHost.Open();
私は別のアプリケーションから必要http://localhost/something/ImListening
との通信が、私はそう聞いているを確認する前に、私は例外を取得、またはしていないが例外である:
だから例えば私はこのコードを持っている場合これをテストする唯一の方法は?
私は実際にはこのサービスのために_wait_する必要があります。私はそれと通信する同じコードから起動しますので、サービスでダミーメソッドを作成して停止するまで呼び出す必要があります例外が発生していますか? – Juan
多くのデータをサービスに送信しているのでなければ、最初に連絡しようとしている方法に連絡するだけではどうですか? (例外的に遅延が繰り返されているのは明らかです) – Amadan
私のサービスでまだ呼び出す方法はわかりません。私はまた、それが失敗しない限り、チャンネルを開いたままにしたい。多分私はここで 'ミューテックス'を使うことができました。とにかく、私は、サービスが既に実行されているかどうかを私のアプリが知りたいです。後でこれを使用していくつかのボタンやそのようなものを有効/無効にすることができます。 – Juan