У меня есть простая служба WCF, которая используется для связи между доменами приложения в нашем приложении.
служба предоставляется через NamedPipeBinding, в настоящее время использующую жестко закодированное имя:
varaddress = "net.pipe: // localhost / app / log";
NetNamedPipeBinding binding = new NetNamedPipeBinding(NetNamedPipeSecurityMode.None);
binding.ReceiveTimeout = TimeSpan.MaxValue;
binding.
logServiceHost = new ServiceHost(typeof(LogService));
logServiceHost.AddServiceEndpoint(typeof(ILogProvider), binding, address);
logServiceHost.Open();
Проблема в том, что это имя жестко запрограммировано, и поэтому другой экземпляр нашего приложения не может выделить новый именованный канал (так как имяуже занят).
Можно ли проверить, занято ли уже имя, и если да, назначить другое имя?
Или есть другие более простые стратегии для обработки такого сценария?