想知道哪些登录用户在哪些页面上停留了多长时间,这样做可行吗?

ynduanlian 2012-07-02 02:58:24
一组单的ASP.NET在线学习页面,功能是一些用户登录后,阅读(学习一些页面上的内容),为了能让管理员统计用户是否无成了学时,需要取得总在线时间。
用户访问页面时的时间很好取得,但却不知道用户何时关才了网页离开了。

我想到的办法是:在页面上放一小段AJAX代码,每3分钟向服务器回送SessionID,以表示页面还在打开状态,这样做合适吗?有没有更好的解决方案?
...全文
223 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
happytonice 2012-07-02
  • 打赏
  • 举报
回复
既然是计时学习的,就可以提示用户从进入开始计时,离开的时候提示用户点击一个按钮离开,以便统计时间。
dopsop110 2012-07-02
  • 打赏
  • 举报
回复
用一个timmer,每隔多长时间往服务器发一个请求,如果没有请求了,就说明此页面被关闭了。这样来进行统计。
需要有一个数据库的表来支持,有比如用户ID,时间,浏览的某块ID 等等。
要做一个数据库的作业去定时清除一天前或者2天前的数据,要不数据量会很大。
xb12369 2012-07-02
  • 打赏
  • 举报
回复
没玩过。帮顶!!!
darkread 2012-07-02
  • 打赏
  • 举报
回复
简单的ajax就可以完成。但是,你要考虑一下,如果用户挂机怎么处理?直接开了网页走人了,或者如遨游设定5分钟刷新一次。
广交天下好友 2012-07-02
  • 打赏
  • 举报
回复
个人认为:你只要判断用户session是否存在 ,存在,不记录时间,不存在 ,跟系统当前对比

得到时间差 插到数据库中。

每次用户登录时 有个 登录日志表。用这个时间比对。

如果在页面上放一小段AJAX代码,这个设计不合理还影响性能
  • 打赏
  • 举报
回复
可以在用户进入阅读的时候,统计下时间,然后用户点击完成阅读的时候,算下时间差

暂且不说这么做究竟有何种实际性的意义,如果利用Ajax实时监测,服务器负重太高,而且用户可能一直在线,却什么也没做,可能的操作太多,如果仅仅通过在线时间去衡量的话,效果应该不是很大

可以设计一个在线测验,用户学习完后,可以直接通过测验来检验成果,如果通过测验,还可以设置一些奖励,比如得到积分等,这样的话用户可能更感兴趣,用户为了测验而学习也不失为一件好事,至少能证明,的确已经比较准确的完成了学时.

纯属个人想法.

62,046

社区成员

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

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

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

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