我目前正在开发一个silverlight应用程序,更准确地说是一个游戏,它有两个状态:游说和游戏。
我创建了我的服务应用程序来反映该结构。我创建了一个LobbyService来处理所有与大堂相关的操作,并创建了一个GameService来处理所有实际的游戏操作。最重要的是,我还有第三个服务'GeneralService‘,它处理在两个状态之间共享的操作(聊天、系统消息等)。
我对设计本身很满意,但阅读双工服务的可扩展性使我相信,拥有3个服务可能不是一个好主意,这可能意味着每个客户端同时打开2-3个双工通道,从而占用服务器端的更多资源。
所以我的问题是,最好只有一个WCF服务(.svc)来处理所有事情(可能只是通过实现3个不同的数据契约),还是应该保留当前的设计并将服务逻辑上拆分成它们自己的服务?
谢谢!
发布于 2011-03-02 05:55:13
据我所知,WCF轮询双工服务在性能上有一些缺点……在你的应用程序中使用这个项目可能更好:http://laharsub.codeplex.com/。
发布于 2009-08-02 09:58:31
如果LobbyService和GameService之间存在安全/权限差异,我会将它们作为两个不同的服务。
您可以允许这些服务从GeneralService继承,从而在两个服务中都可以使用该功能。
这减少了为每个客户端打开的双工通道的数量,同时保持结构或您的服务。
https://stackoverflow.com/questions/1217597
复制相似问题