获取当前在线用户?

时间:2009-01-17 22:10:56

标签: asp.net global-asax

谷歌搜索后,我找到了一些关于如何使用ASP.NET在线用户的提示。 但我正在使用自己的班级来加入会员。

我找到的信息是:

  1. 用户登录时将用户sessionId记录到数据库
  2. 在会话超时时将其注销
  3. 您对此有何建议?

2 个答案:

答案 0 :(得分:1)

我发现这很棒article

希望帮助某人

答案 1 :(得分:0)

我们在工作时使用这种方法,以便当用户在单独但并发的会话中将数据上传到Web服务时,我们可以捕获发生超时的90%的情况,然后警告用户。

我们没有抓住每一个案例,因为:

  • global.asax中的会话超时事件处理程序在到期时间(IIRC)
  • 时无法可靠地调用
  • 用户可以同时关闭浏览器窗口。

我所知道的两种常见方法是:

  • 任何用户操作都会导致更新到users表中的LastActionTime。使用此值+ 20分钟(或任何会话超时值)可以很好地指示谁登录
  • 每隔几秒更新一次小型AJAX面板(与之前的选项相关联)。