从单个客户端使用多个 WCF 服务

Posted

技术标签:

【中文标题】从单个客户端使用多个 WCF 服务【英文标题】:Consuming multiple WCF services from a single client 【发布时间】:2014-05-24 16:49:08 【问题描述】:

我使用控制台应用程序托管了两个 WCF 服务,一个在端口 8080 上,另一个在端口 8090 上。我可以为名为 AccountManagementService 的第一个服务创建对象,但不能为另一个服务创建对象名为 UserRegistrationService

下面的快照显示添加了两个服务。

第二个服务根本没有出现在 intellisense 中。

使用的服务的完整细节可以在以下链接中找到(这也是我提出的一个问题): Hosting two WCF services using a single console app

我已尝试多次删除和创建新服务,但似乎没有任何效果。请提出建议。

【问题讨论】:

第二个服务的命名空间是什么?检查references.cs 文件,您应该会看到命名空间。 两者都是在同一个位置创建的。我在哪里可以找到references.cs 文件? 更新了下面的答案 【参考方案1】:

根据图像,它应该在那里。打开未显示在 IntelliSense 中的服务的 reference.cs 文件并检查命名空间。然后尝试使用全名创建引用。要访问 reference.cs 文件,请单击在解决方案资源管理器中显示所有文件,如下所示

例如,如果在reference.cs 中,您将命名空间WWWCF.UserRegistration 视为foo.bar.WWWCF.UserRegistration,则使用

创建实例
foo.bar.WWWCF.UserRegistration ref = new foo.bar.WWWCF.UserRegistration ();

【讨论】:

有趣。第一个服务的reference.cs 中有条目,而第二个服务的reference.cs 是空的。我是不是搞错了什么? 如果reference.cs为空,可能是服务有问题?您可以访问 WSDL 以获得第二个服务吗? 是的。我可以看到 WSDL 文档。 当你尝试做的时候,作为第二个服务的服务参考,它在服务和操作窗格中是否显示任何内容? 我找到了解决方案。谢谢你的时间。 Reference.cs 文件是引导我找到解决方案的最佳线索。我真的很感激。【参考方案2】:

找到了解决办法。不过,我不确定我是否理解原因。但是以下链接对我的问题有答案并已解决。

Empty Reference.cs file issue solved

【讨论】:

以上是关于从单个客户端使用多个 WCF 服务的主要内容,如果未能解决你的问题,请参考以下文章

浅谈WCF

wcf - 多个KnowType命令 - 执行的正确模式

如何为具有共享类型的多个 WCF 服务生成客户端代码

WCF系列如何配置和承载服务

WCF 上的一项服务、多个端点、多个绑定。为啥我无法到达我的端点?

Wcf 事务和 SQL 存储过程