5

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

这种架构看起来是否适合目的?

注意事项:

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

我们还考虑了什么?

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

  • 我们已经尝试过 WCF Duplex,但是按照上面需要注意的项目部分中列出的要求,我们最终会在两端都有客户端和服务器。

在此处输入图像描述

4

1 回答 1

2

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

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

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

因此,如果您的目标是部署大约 200-300 台 PC,那么您的架构将会成立,但如果您的目标是部署数千台 PC,那么它就不会成立。

于 2013-03-24T18:09:17.727 回答