使用WCF时获取所有登录用户列表的最佳做法是什么

时间:2010-07-30 05:38:36

标签: winforms wcf

我正在开发一个窗口表单应用程序表单应用程序正在使用WCF从数据库服务器获取数据。我的Clinet希望看到当前正在使用应用程序的用户。我的意思是 管理员希望获得当前连接到WCF服务器的所有用户ID的管理页面。我不知道怎么弄这个。我想我可以在身份验证过程后捕获userID。但我不知道如何检查用户是否已注销如果发生异常过程(即客户端PC因电源故障而关闭) 请给我提示或建议。我很感激

1 个答案:

答案 0 :(得分:0)

您需要在WCF服务级别实现此功能。它需要维护已登录的用户列表,然后注意哪些用户已注销。如果您只运行一个WCF服务,则只需缓存该计算机上的信息,并将登录用户列表作为其另一种方法返回。如果您有多台运行WCF服务的计算机,那么您需要使用后端数据库来存储信息,因为该服务需要是无状态的。

要注意客户端崩溃或关闭计算机,您需要每5分钟向WCF服务添加一次调用。就像通知WCF服务的ping一样,应用程序仍在运行且用户已登录。如果超过5分钟,则您的服务可以假定用户现已注销。