Служба WCF запускается дважды
У меня есть служба WCF, настроенная для использования привязки именованных каналов в сети. Вот конфигурация сервиса.
<service name="XX.Impl.Configuration.ConfigurationService" behaviorConfiguration="DefaultServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="net.pipe://localhost/xx/ConfigurationService" />
</baseAddresses>
</host>
<endpoint name="pipeEndPoint" address="" binding="netNamedPipeBinding" behaviorConfiguration="NoDataContextBehavior" bindingConfiguration="pipeBindingConfiguration" contract="ServiceContracts.IConfigurationService" />
<endpoint name="pipeEndPointMex" address="mex" binding="mexNamedPipeBinding" contract="IMetadataExchange">
</endpoint>
</service>
Я попытался запустить службу как часть службы Windows, служба запустилась успешно. На этой же машине я запустил ту же службу, ту же конфигурацию и тот же адрес, что и часть консольного приложения. Он также работает успешно. Единственное отличие заключается в том, что служба Windows работает под идентификатором Network Service, в то время как консольное приложение работает под моим именем.
Я не могу понять, как служба в консольном приложении запускается, когда служба в службе Windows слушает. Я попытался запустить еще один экземпляр консольного приложения, которое выдает ошибку с сообщением "прослушивается другая конечная точка". Это имеет смысл, я не могу понять, как работает первый экземпляр консольного приложения, в то время как служба Windows уже запустила ту же службу и прослушивает. может кто-нибудь объяснить это?