查找用户是否在线

时间:2010-06-10 18:37:43

标签: c# asp.net

在我的项目中,我必须实现一个界面,显示特定用户是否在线,如社交网站(如orkut和facebook)

3 个答案:

答案 0 :(得分:1)

您必须使用的机制是应用程序中的Session_Start和Session_End事件。要使可靠地调用结束事件,请在用户注销时使用Session.Abandon方法。

答案 1 :(得分:1)

如果您使用的是ASP.NET和成员资格提供程序,那么有许多不同的实现。这是一个链接:

http://blog.dreamlabsolutions.com/post/2009/07/13/ASPNET-Membership-Show-list-of-users-online.aspx

如果您不是,则需要在用户登录系统时进行存储,并在每次“活动”时跟踪他们。我使用全局缓存完成了这项工作,但它确实只适用于单服务器解决方案。如果您想使用多个服务器,则需要转移到数据库存储,但这几乎就是ASP.NET成员资格为您提供的只需很少编码的开箱即用。

您可以选择如何写入数据存储区(例如缓存)并根据您的需要选择“会话”,例如特定的不活动时间段,Session_End事件,注销命令等...

答案 2 :(得分:0)

其中一种方法是在用户表中保留一个标志,并在用户登录时将其设置为在线,并且您可以实现反映此标志的界面。