Greetings, 我们公司正在开发wcf服务。这被用作服务器,它工作得很好。悬停有一个客户的愿望,他们登录到应用程序后,他们希望看到哪些用户也登录。 我读过关于CallbackContract(基于一些wcf聊天应用程序)。我们如何实现这一目标?Multiple DataContract Callbackcontract
0
A
回答
1
类似的问题问here
您可以deffinetly管理服务器内的登录用户。我创建了一个个人模式来处理这种情况下,它ussually是这样的:
创建,将持有的所有有关客户端所需要的信息的WCF服务器内的客户端类。
在服务中创建2个方法:logIn,logOut。登录方法应该能够收集有关您想要存储的客户端的所有信息。确保定义可以唯一标识客户端实例的属性。当客户端向服务器通报时,它调用登录方法,允许服务器收集并保存来自客户端的信息。如果使用回调,这是在客户端obejt中保存CallBack上下文对象的地方。您现在可以将客户端对象保存在WCF服务器实例中(我使用了一个词典)。当客户端注销时,它会调用注销方法,服务器将删除该条目。
- 在服务器中创建一个KeepAlive方法,用于检查连接的客户端是否仍然连接(在网络故障或应用程序崩溃的情况下,客户端可能不会调用注销方法)。
我觉得这是最简单的方法(不 说这是最好的)的服务器来管理客户 。没有 有多个客户端 问题来自同一台计算机(您保存客户端登录时 上下文)为 长,因为您有一个唯一的 标识客户端的方式。
至于你最后的问题,有 多个服务不应该是 的问题。事实上,对于您提供的不同服务 ,您拥有相同的WCF 服务器和不同的合同(和 端点)。 ALl合同位于 相同的WCF服务器实例中,因此它们都可以访问连接的客户端 列表。
如果您还有其他问题,我想 很乐意回答。
你可以找到你需要真正建立WCF服务的代码,你需要here
相关问题
- 1. WCF DataContract与DataContract接口
- 2. Multiple RewriteCond for multiple RewriteRules
- 3. Spring Multiple Multiple HttpSecurity with Multiple Dispatcher servlets
- 4. WCF DataContract
- 5. SemanticUI Multiple select dont post multiple values
- 6. DataContract从非DataContract基类继承
- 7. DataContract问题
- 8. WCF DataContract问题
- 9. DataContract属性-WCF
- 10. WCF,在DataContract
- 11. DataContract和继承?
- 12. WCF阵列datacontract
- 13. WCF DataContract GetCustomDataToExport
- 14. DataContract在WCF
- 15. WCF和[DATACONTRACT] + [DATAMEMBER]
- 16. WCF DataContract集中
- 17. DataContract vs Message Contract
- 18. WCF DataContract属性
- 19. DataContract复合类
- 20. WCF DataContract Upcasting
- 21. slideDown multiple
- 22. multiple droppable
- 23. dismissModalViewController multiple
- 24. System.Interactivity.Behaviors - multiple?
- 25. multiple AuthorizationExecuteWithPrivileges
- 26. Hashtag Multiple
- 27. Multiple instance_of?
- 28. Multiple Subscriptions
- 29. Multiple Gridviews
- 30. multiple asyntask
wow..thank你尼尔它帮助了我很多。还有一个问题。你能否给我提供一些关于KeepAlive方法的建议,它会定期检查连接的客户端? – 2010-02-04 21:03:11
基本上它是一个ping,服务器在客户端调用一个名为public void ping()的方法,并且如果调用导致CommuicationException,那么它意味着客户端无法响应,应该从联机客户端列表中删除。这个方法应该被放置在一个定时器中并且设置为每隔x分钟循环遍历所有客户端 – Neil 2010-02-05 07:11:30
任何示例我该怎么做? – 2010-02-05 07:33:11