WCF开发常见问题:“There is already a listener on IP endpoint 0.0.0.0:4503”

在寄宿到控制台的WCF服务启动时或者运行期间,经常自己停掉,通过日志记录可以看到

2010/10/27 10:19:08 : There is already a listener on IP endpoint 0.0.0.0:4503.  Make sure that you are not trying to use this endpoint multiple times in your application and that there are no other applications listening on this endpoint.

应该是同一个端口被多个服务监听了,查了一下服务的配置,果然如此

 

代码
<service behaviorConfiguration="WCFService.Behavior" name="WCFService.SynchronizationService"> 
        
<host> 
          
<baseAddresses> 
            
<add baseAddress="net.tcp://localhost:4503/SynchronizationService"/> 
          
</baseAddresses> 
        
</host> 
        
<endpoint address="" binding="netTcpBinding" contract="WCFService.ISynchronizationService" bindingConfiguration="netTcpBindConfig"></endpoint> 
        
<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" ></endpoint> 
      
</service>

      
<service behaviorConfiguration="WCFService.Behavior" name="AuthenticateService"> 
        
<host> 
          
<baseAddresses> 
            
<add baseAddress="net.tcp://localhost:4503/AuthenticateService"/> 
          
</baseAddresses> 
        
</host> 
        
<endpoint address="" binding="netTcpBinding" contract="IAuthenticateService" bindingConfiguration="netTcpBindConfig"></endpoint> 
        
<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" ></endpoint> 
      
</service>

 

于是将其中一个服务的端口改掉成4504即可。

为了保证端口的唯一性,首先这个端口不能是常见的系统端口,其次不能是其他服务所用的端口。

posted @ 2010-11-01 11:12  翁玉礼  阅读(1127)  评论(5编辑  收藏  举报