Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 获取当前在线用户?_Asp.net_Global Asax - Fatal编程技术网

Asp.net 获取当前在线用户?

Asp.net 获取当前在线用户?,asp.net,global-asax,Asp.net,Global Asax,通过谷歌搜索,我发现了一些关于如何使用ASP.NET获得在线用户的提示。 但是我用我自己的班级作为会员 我发现的信息是: 当用户登录时,将用户sessionId记录到数据库中 当会话超时时将其注销 您对此有什么建议?我们在工作中使用这种方法,这样当用户在单独但并发的会话中将数据上载到Web服务时,我们可以捕获90%的超时情况,并及时向用户发出警告 我们没有抓住每一个案例,因为: global.asax中的会话超时事件处理程序在过期发生时(IIRC)未可靠调用 用户可能同时关闭了浏览器窗口 我

通过谷歌搜索,我发现了一些关于如何使用ASP.NET获得在线用户的提示。 但是我用我自己的班级作为会员

我发现的信息是:

  • 当用户登录时,将用户sessionId记录到数据库中
  • 当会话超时时将其注销

  • 您对此有什么建议?

    我们在工作中使用这种方法,这样当用户在单独但并发的会话中将数据上载到Web服务时,我们可以捕获90%的超时情况,并及时向用户发出警告

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

    • global.asax中的会话超时事件处理程序在过期发生时(IIRC)未可靠调用
    • 用户可能同时关闭了浏览器窗口
    我知道的两种常见方法是:

    • 任何用户操作都会导致更新用户表中的LastActionTime。使用此值+20分钟(或您的会话超时值)可以很好地指示谁已登录
    • 每几秒钟更新一次的小AJAX面板(与前面的选项链接)
    我发现这个很棒


    希望对某人有所帮助

    感谢您提供的精彩信息,我找到了一篇关于该问题的有用文章再次感谢