3

我目前正在开发一个 Silverlight 应用程序,更准确地说是一个游戏,它有两种状态:大厅和游戏。

我创建了我的服务应用程序来反映该结构。我创建了一个 LobbyService 来处理所有与大厅相关的操作,并创建了一个 GameService 来处理所有实际的游戏操作。最重要的是,我还有第三个服务“GeneralService”,它处理两种状态之间共享的操作(聊天、系统消息等)。

我对设计本身很满意,但是阅读双工服务的可扩展性让我相信拥有 3 个服务可能不是一个好主意,这可能意味着同时打开 2-3 个双工通道每个客户端,从而在服务器端占用更多资源。

所以我的问题是,最好只为所有内容提供 1 个 WCF 服务 (.svc)(可能只是通过实施 3 个不同的数据合同),还是应该保留当前设计并将服务逻辑拆分为自己的服务?

谢谢!

4

2 回答 2

2

据我所知,WCF Polling Duplex 服务在性能上有一些缺点......可能更好地使用这个项目: http: //laharsub.codeplex.com/用于您的应用程序。

于 2011-03-01T21:55:12.567 回答
0

如果 LobbyService 和 GameService 之间存在安全/权利差异,我会将它们保留为两个不同的服务。

您可能会允许这些服务从 GeneralService 继承,从而在这两个服务中都可以使用该功能。

这减少了为每个客户端打开的双工通道的数量,同时保持了结构或您的服务。

于 2009-08-02T09:58:30.947 回答