我有一个WCF服务配置为使用Net命名管道绑定。这是服务的配置。
<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服务运行在网络服务身份下,而控制台应用程序运行在我的身份。
我无法理解在Windows服务中的服务正在侦听时控制台应用程序中的服务是如何启动的。我试图运行另一个控制台应用程序实例,它会抛出错误消息&#34;还有另一个端点在监听&#34;。这是有道理的,我无法理解当Windows服务已经启动相同的服务和监听时,控制台应用程序的第一个实例是如何运行的。有人可以解释一下吗?