2010-06-10 62 views
2

在我的项目我要实现它显示了特定用户是否在线与否作为社交网站(如Orkut和Facebook)的这个查找用户是否在线

+0

请更详细的?你计划使用什么环境/语言等? – liquidleaf 2010-06-10 18:38:43

+0

问题是...? – 2010-06-10 18:39:04

+0

我想他想知道如何... – 2010-06-10 18:39:28

回答

1

如果您使用ASP.NET和成员资格提供程序有一堆不同的实现。这里是一个链接到一个:

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

如果你没有,那么你将需要存储,当用户登录到系统,并跟踪每次他们是“主动”的地方。我已经使用全局缓存完成了它,但它确实只适用于单服务器解决方案。如果您想使用多台服务器,则需要迁移到数据库存储,但这几乎是ASP.NET会员资格以很少的代码为您提供的开箱即用功能。

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

0

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

+0

请再次清除 – picnic4u 2010-06-10 18:40:36

+1

会有一张表供用户使用。该表将有一个名为IsOnline(位域)的条目。每当用户上线时,该值将被设置为1,并且当会话到期/用户注销时,该值将被设置为0.使用此值可以显示用户是否在线/不 – Chinjoo 2010-06-10 18:45:31

1

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