0

问候读者!所以我正在尝试开发一个客户端服务器系统。由于我之前没有设计过客户端服务器系统,所以我想我会发布一个问题,看看这里的专家有什么要说的。

要求:.NET 3.5 WCF 至少 2 台计算机,主机和从机。

用例是一个测试环境,从属设备应主设备的请求运行测试。

问题:我希望从站定位并连接到主站,然后主站控制并启动要运行的测试。从站还进行进度报告:新的测试数据、意外事件等。

我比较困惑的部分是,如果奴隶主动与主人接触,那不就是让他成为主人吗?

这是否意味着我在从属和主控上都需要服务主机,以便它们可以启动活动?

4

4 回答 4

4

我决定在一篇博文中回答这个问题:

http://dotmad.net/blog/2009/02/the-role-ofclients-and-services-in-wcf

于 2009-02-13T18:11:15.320 回答
0

客户端/服务器和主/从不要混淆。Master 控制动作,但 Server 监听连接。

如果您的客户(奴隶)正在发起所有联系,那么您在主服务器上所需要的只是监听这些请求(网络服务等)和一个处理系统。

于 2009-02-12T01:34:22.230 回答
0

我不知道为什么您的问题被否决了,对我来说似乎没问题:)

如果我是你,我可能会倾向于使用 netMsmqBinding(我喜欢队列!)。master 可以通过将消息放在 MSMQ 队列上来向 slave 发送请求,slave 可以通过 MSMQ 将状态报告发送回 master。这样,两个进程可以独立工作,您不必担心一个进程跟不上另一个进程(除非一个进程完全陷入困境。)

为此,您在两个进程中都需要一个 ServiceHost。master 需要托管一个 netMsmq 服务,slave 也是如此。每个还需要一个客户端绑定来发送消息。

如果您需要更多并行处理,这还允许您扩展从属(或主控)的数量。(所有从站都可以从同一个队列中提取消息)。

只是一个想法。

于 2009-02-12T03:01:16.813 回答
0

Check out DuplexContracts which should allow you to know methods that you can call upon your clients. There is also Event Handling in WCF, though it requires a bit more work than normal .NET eventing.

于 2009-02-20T03:39:19.373 回答