2

我之前在一定程度上发布过这个问题,但经过几天的阅读,我对 WCF 有了更好的理解,并希望在开始研究它之前得到一些反馈。

我基本上需要开发一个服务器/客户端系统。“服务器”应用程序(c# 网络控制台应用程序)将在一台机器上运行,该机器具有 MySQL 数据库、所有软件安装包以及我们在本地需要的任何其他内容。“客户端”应用程序(c# net console 应用程序)将在我们的其余机器上运行,并将保持与服务器软件的直接连接。使用 Web 前端,我们的管理员将能够为客户端安装软件包、创建新服务等。

由于我们拥有所有机器,并且无论如何都必须配置它们,服务器推送不是问题。我们不必担心防火墙或任何类型的 NAT 设置,因为我们可以进入并打开它运行所需的端口。

最初让我对 WCF 感到困惑的是我将“WCF 服务”与服务器相关联。但是,由于大多数操作实际上将在“WCF 服务”上运行,这是我的逻辑。

1) 使“客户端”应用程序实际上是“WCF 服务”,以便公开的功能实际上在适当的机器上运行。

2)让“服务器”应用程序实际上是一个“WCF客户端”,并从这里发出所有指令/命令,并使用返回值来更新数据库/等。

这是要遵循的正确方法还是我应该研究 WCF Duplex(乍一看非常混乱)还是从原始套接字开始?

4

2 回答 2

1

从我收集到的你想要做的事情来看,你是对的。也就是说,客户端机器上应该真的有一个 TCP/IP“服务器”运行,而中央服务器机器应该有 Tcp/IP“客户端”。

这样,TCP/IP 客户端(在您的服务器机器上运行的应用程序)可以发起对每台客户端机器的调用。

请记住,单个应用程序既可以是 tcp/ip 客户端,也可以是服务器。因此,您在服务器计算机上运行的应用程序也可能是您的管理员使用浏览器执行操作的 tcp/ip 服务器。这实际上意味着该服务是一个 HTTP 服务。

于 2011-03-11T08:48:52.093 回答
0

因此,它不是客户端/服务器的事情。它是分布式计算的中心辐射型安排。我认为,WCF 可以很好地使用。您有多个服务器和一个协调器(所有这些服务器的客户端),它从各种服务器完成工作并更新数据库。

因此,WCF 非常适合您。WCF 的好处是易于配置和处理通信部分。您不必为套接字的管理付出太多的痛苦。

于 2011-03-11T08:47:47.440 回答