私は、アプリケーションでのクロスアプリケーションドメイン通信に使用される単純なWCFサービスを持っています。名前付きパイプバインディングが使用可能か、既に使用中であるかどうかをテストします。
VARアドレス= "net.pipe:// localhostの/アプリ/ログ"
サービスは現在、ハードコードされた名前を使用して、NamedPipeBindingを介して公開されます。
NetNamedPipeBinding binding = new NetNamedPipeBinding(NetNamedPipeSecurityMode.None);
binding.ReceiveTimeout = TimeSpan.MaxValue;
binding.
logServiceHost = new ServiceHost(typeof(LogService));
logServiceHost.AddServiceEndpoint(typeof(ILogProvider), binding, address);
logServiceHost.Open();
問題は、この名前はハードコードされていることで、(名前がすでに使用されているので)ので、我々のアプリの別のインスタンスは、新しい名前付きパイプを割り当てることができません。
名前がすでに使用されているかどうかを確認することはできますか?そうであれば、別の名前を割り当てますか?
このようなシナリオを扱うための他の簡単な戦略はありますか?