【问题标题】:Not able to generate WCF client code for WCF service which is hosted in windows service无法为 Windows 服务中托管的 WCF 服务生成 WCF 客户端代码
【发布时间】:2012-03-06 08:28:50
【问题描述】:

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

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

你能帮我更进一步吗?我被困在这里了。

【问题讨论】:

  • 您确定您的服务没有停止吗?您是否尝试过调试您的 Windows 服务也看到托管完成了吗?

标签: c# wcf


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    (端点地址="mex" binding="mexTcpBinding" contract="IMetadataExchange" /)

    【讨论】:

    • 您是否将 wcf Web 配置文件内容复制到 Windows 服务托管的 "yourServiceNAme".exe.config 文件中。
    【解决方案3】:

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

    【讨论】:

    • 您能否推荐一个描述在 Windows 服务中创建和托管 WCF 服务的链接?
    • 我相信,如果您查看了此门户网站上的所有视频,您将大致了解您拥有的所有工具和选项。 msdn.microsoft.com/en-us/netframework/dd939784我相信它应该回答你的问题,并帮助你很多。你很有可能在某个地方犯了一个非常简单的错误:)。
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多