没有端点上的net.tcp

问题描述:

服务配置监听错误没有端点上的net.tcp

<service name="Services.MyService"> 
    <host> 
     <baseAddresses> 
     <add baseAddress="net.tcp://localhost:9000/Services/MyService/" /> 
     </baseAddresses> 
    </host> 
    <endpoint name="NetTcpService" 
     address="" 
     binding="netTcpBinding" 
     bindingConfiguration="TcpConfig" 
     contract="Service.IMyService" /> 
    <endpoint 
     address="mex" 
     binding="mexTcpBinding" bindingConfiguration="TcpConfig" 
     contract="IMetadataExchange" /> 
    </service> 

客户端代码:

var endPoint = new EndpointAddress("net.tcp://localhost:9000/Services/MyService/mex"); 
var binding = new NetTcpBinding { TransferMode = TransferMode.Streamed, SendTimeout = TimeSpan.MaxValue }; 
var channel = new ChannelFactory<IMyService>(binding, endPoint); 
var proxy = channel.CreateChannel(); 

错误:

No Endpoint listening at "net.tcp://localhost/Services/MyService/mex"

TCP服务正在运行,防火墙是关闭的。不知道有什么缺失。

+0

如果我使用端点net.tcp:// localhost:9000/Services/MyService – Suedeuno 2012-02-23 16:53:03

+0

,我会得到基本相同的消息请参阅我的回复 - 创建绑定时可能还需要更改为TransferMode.Buffered(除非'TcpCOnfig'绑定配置 - 你**没有在你的帖子中显示** - 将建立流式传输模式) – 2012-02-23 16:55:47

+0

你能告诉我们''你的服务器端配置的一部分,请?? – 2012-02-23 17:15:36

实际服务是在听net.tcp://localhost:9000/Services/MyService/ - 所以试图改变你的代码看起来像这样:

var endPoint = new EndpointAddress("net.tcp://localhost:9000/Services/MyService/"); 
var binding = new NetTcpBinding { TransferMode = TransferMode.Buffered, SendTimeout = TimeSpan.MaxValue }; 
var channel = new ChannelFactory<IMyService>(binding, endPoint); 
var proxy = channel.CreateChannel(); 

除了更改地址,也可以使用TransferMode.Buffered(而不是Streamed),这是默认的 - 我在服务器端配置中看不到任何可能表明您正在使用流式传输模式的配置。

地址net.tcp://localhost:9000/Services/MyService/mex元数据交换地址 - 不是您的服务。客户端需要使用此端点来询问服务,以了解它提供的服务方法类型,它期望的参数等等 - 需要创建客户端代理代码的所有内容。但是,这是不是服务地址,您的实际服务所在地和响应请求。

+0

将transferMode添加到服务配置并指向客户端端点net.tcp:// localhost :9000 /服务/我的服务,仍然有相同的消息 – Suedeuno 2012-02-23 17:03:33

+0

@Suedeuno:你是如何托管**你的WCF服务?自行托管在应用程序中,还是托管在IIS内? – 2012-02-23 17:08:34

+0

此服务是自托管的 – Suedeuno 2012-02-23 17:09:28