无法为Windows服务中托管的WCF服务生成WCF客户端代码

时间:2012-03-06 08:28:51

标签: c# wcf

您好我尝试了msdn网站(http://msdn.microsoft.com/en-us/library/ms733069.aspx)中提到的示例 我成功地在Windows服务中托管服务。后来我尝试使用它创建一个WCF客户端,并且无法使用Svcutil.exe创建客户端代码。我通过创建一个控制台应用程序作为客户端尝试了另一种方式,并尝试将服务作为ref。但它失败了说:

  

下载时出错   的“http://本地主机:8001 / ServiceModelSamples /服务”。无法连接   到远程服务器因为目标,无法建立连接   机器主动拒绝它127.0.0.1:8001元数据包含一个   无法解决的参考:   的“http://本地主机:8001 / ServiceModelSamples /服务”。没有   终点听   可以接受的http://localhost:8001/ServiceModelSamples/service   消息。这通常是由不正确的地址或SOAP引起的   行动。有关更多详细信息,请参阅InnerException(如果存在)。无法   连接到远程服务器因为没有连接   目标机器主动拒绝它127.0.0.1:8001如果服务是   在当前解决方案中定义,尝试构建解决方案并添加   再次提供服务参考。

你能帮助我走得更远吗?我被困在这里。

4 个答案:

答案 0 :(得分:2)

'无法建立连接,因为目标计算机主动拒绝它'清楚地表明没有任何内容正在侦听端口8001.您的服务未启动或您使用的是错误的端口。

如果您的服务已启动,请检查它正在使用Process Explorer监听的端口。

答案 1 :(得分:1)

  

选项1-:将端口更改为8080并尝试选项2 - :请确保   启用服务元数据交换

(endpoint address =“mex”binding =“mexTcpBinding”contract =“IMetadataExchange”/)

答案 2 :(得分:0)

尝试使用专为此设计的工具连接到您的WCF服务。如果你不能通过它们连接,那么,你的服务可能没有正确托管,有些端点搞砸了......

答案 3 :(得分:0)

我遇到了同样的问题,发现我忘了按照@Bren的建议启动我的Windows服务(托管WCF)。启动后,我将配置文件中的地址复制到Add ServiceReference对话框中,它发现没问题。