如何统计用户的在线时长

Tzyan 2008-01-12 07:27:05
用什么方法可以如何统计用户的在线时长
...全文
329 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2008-01-16
  • 打赏
  • 举报
回复
楼上的,可以写个例子吗?谢谢
chengqscjh 2008-01-15
  • 打赏
  • 举报
回复
用Session也不是很准确,因为Http是种无状态的协议。如果用户已经离开,还要过一段时间Session才会删除

我引用网上的一种解决方法:
用会话监听程序来实现,这个程序里做的主要工作是记录Session的创建和销毁,由于是监听程序,所以可以随时随地得到Session创建和销毁的信息,自然也就可以知道一个会话的时间.此程序中有两个重要的方法,sessionCreat(),sessionDestroyed()
anliuty 2008-01-15
  • 打赏
  • 举报
回复
Session是对用户的,也就是说每个登录进来的用户都有一个针对他的Session,
尽管我们在写程序的时候将那个Session命名相同,但是它们相互是没有关系的
「已注销」 2008-01-15
  • 打赏
  • 举报
回复
那倒不需要累计,我只要记录本次的时长就可以了,但是会不会出现以下情况:
用户A进入时Session["InTime"]=10:50;//就当是这个时间进入的
用户B进入时Session["InTime"]=10:51;//那个这时Session中存的时间是两个人都有的,还是只有B的
anliuty 2008-01-15
  • 打赏
  • 举报
回复
记录Session开始的时间和结束的时间,累计每次登录的时间差存入数据库
在Global.asax文件里写
「已注销」 2008-01-15
  • 打赏
  • 举报
回复
难道就没有更好的方法了吗?
lihongdian 2008-01-12
  • 打赏
  • 举报
回复
没有很准确的办法,,要么你搞个关闭页面事件去控制session吧


function window.onunload()
{
if(window.confirm("你要关闭吗?"))
{return 2}
}
</script>
</head>
<body >
<input type="text">
<script>
function window.onunload()
{
if(window.confirm("你要关闭吗?"))
{return 2}
}
「已注销」 2008-01-12
  • 打赏
  • 举报
回复
这个我知道,主要是写在什么地方?另外如果用Session写,在时间统计上不一定会很正确,是否还有别的方法吗?
lihongdian 2008-01-12
  • 打赏
  • 举报
回复
cookie+session

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧