我需要多个与WCF服务通信的客户端。 WCF服务还必须能够连接到任何一个客户端。
所以 - 听起来像服务器和客户端需要在每个服务器中都内置WCF服务器和客户端。
这是正确的还是有某种方法可以做到这一点?
我在看NetPeerTcpBinding,但这已经过时了。公平地说,我不确定这是否也是一个有效的解决方案。
背景:
网络上的客户端将连接到服务器上运行的服务,以便在数据库中插入一些信息。
用户将使用Windows窗体应用程序连接到服务器上的Windows服务,此Windows服务将连接到工厂车间的相关客户端(以允许远程浏览文件和文件夹)。
因此我相信地板上的机器和服务器都需要内置的WCF cleint和服务。
答案 0 :(得分:18)
人们推荐wsHttpDualBinding
的原因是因为它本身就是一种安全且可互操作的绑定,旨在与双工服务合同一起使用,允许服务和客户端发送和接收消息。
提到的“双工”通信类型有几种变化。 Half和Full是最简单的。
每个都会带来好处和问题,它们还提供了根据您的需求更有效地建立沟通的方法。
我有点困惑,但我会尝试澄清。
您可能会遇到各种各样的方法,Windows Communication Foundation(WCF)服务需要以下内容:
这些基本上是WCF的“ABC”。这些图片的创作描绘了这样的图片:
正如您所看到的,服务将包含:
主机容纳客户端将使用的服务,以便这些服务方法执行所需的任务。示例表示:
如您所见 Client-1 正在通过互联网(HTTP,HTTPS等),然后将点击主机,这将使该服务执行这些任务。
现在 Client-n 在本地使用该服务,所以它正在谈论(TCP等)作为一个例子。
最容易记住的方法:无论多少客户端需要这些方法来执行任务,都可以使用一种服务。您可以使用service-oriented architecture(SOA)创建非常复杂的模型。
所有WCF都是将您的应用程序连接到主机或 您可能无法访问的集中位置。
如上图所示,客户端通过服务与主机进行通信。其中执行一系列任务。 WCF将讨论一系列协议。希望这将更好地理解WCF的结构。
有很多教程甚至帖子都可以帮助您入门。一些优秀的书籍,如“WCF Step by Step”。
基本上您正在寻找异步全双工连接或同步全双工服务。如上所述,您的任务本质上是服务的重点。
问题:这怎么效果最好?
它将归结为您的设计。您需要遵守一些限制和结构,以便为您的目标真正优化它。
这些障碍可能是:
列表继续并继续。我真的会在WCF上查阅教程或一些书。以下是一些:
他们将帮助您使用服务结构以符合您的预期目标。
请记住“ABC”,以便在WCF中获得最大成功。
答案 1 :(得分:5)
如果您希望服务与客户沟通,请使用wsDualHttpBinding。
阅读 WS Dual HTTP 。
答案 2 :(得分:2)
您可能希望尝试使用netTcpBinding创建WCF服务。它将适合您的要求。您可以使用文章 How to: Use netTcpBinding with Windows Authentication and Transport Security in WCF Calling from Windows Forms 作为开头:
此外,您可以使用the WCF Samples package中包含的许多示例。