需要WCF架构帮助

use*_*082 5 c# architecture wcf wcf-binding wcf-security

我们正计划实施我们的新软件应用程序,如下所示.

这种架构是否适合用途?

需要注意的事项:

  • 有很多PC
  • PC有一个WCF客户端,因为它需要定期将数据上传到数据库.
  • PC具有服务器,因为终端服务器上的最终用户需要能够询问PC以获取信息
  • 终端服务器是用户的GUI,因此他们可以远程连接到特定的PC以询问PC以获取信息
  • 我们在下面使用basicHttpBinding

我们还考虑了什么?

  • 我们尝试过WCF NetPeerTcpBinding(即P2P),但它不支持请求 - 回复操作.

  • 我们已经尝试过WCF Duplex,但是在要注意的项目中列出了上面列出的要求,我们最终会在两端都有一个客户端和服务器.

在此输入图像描述

G.Y*_*G.Y 2

好吧,我很抱歉,但我基本上不同意你的架构。

  • WCF 不是为请求-响应通信之外的任何其他通信而设计或适合的。它的全双工能力不会使您的服务器端能够向特定客户端发出通信,除非该客户端已经向服务器发出连接。这意味着,为了与所有客户端实现享有盛誉的在线全双工通信 - 所有客户端都必须维护到服务器的开放端口。

  • 每台电脑拥有双客户端和服务器以实现在线全双工是向前迈出的一步,因为它将解决保持每个客户端端口开放的问题,但它在安全性方面有缺点,因为这意味着特定的电脑是开放的接收多个连接请求。如果不小心的话,致命的重入可能会出现另一个问题。因此,基本上您将节省“端口”,以换取架构的可维护性和对您的解决方案的适用性。

因此,如果您的目标是部署大约 200-300 台 PC,您的架构将能够满足,但如果您的目标是部署数千台 PC,那么您的架构将无法满足。