Session_End执行时候,该函数内部Session还可以访问到嚒

windspeed 2006-09-12 11:15:25
我要用Session来统计用户登录系统到停止操作的在线时间

登录时候

HttpContext.Current.Session["UserName"]=Username;
HttpContext.Current.Session["LoginTime"]=DateTime.Parse(DateTime.Now.ToString());


Session失效时候,不是可以触发Session_End执行

protected void Session_End(Object sender, EventArgs e)
{
if(Session["UserName"]!=null && Session["LoginTime"]!=null)
{
HNCCIC.DAL.DA_UserLogin UserLogin = new HNCCIC.DAL.DA_UserLogin();
TimeSpan Duretime= DateTime.Parse(DateTime.Now.ToString())- DateTime.Parse(Session["LoginTime"].ToString());
UserLogin.UpdateOnlineTime(Session["UserName"].ToString(),Convert.ToDouble(Duretime.TotalMinutes));//将在线时间差更新到数据库
Session["UserName"]=null;
Session["LoginTime"]=null;
}

}

大家觉得这个方案可行嚒

还有没有更好的办法
...全文
111 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wslinfeng 2006-11-24
  • 打赏
  • 举报
回复
好象不行,
pgy8288 2006-11-24
  • 打赏
  • 举报
回复
过一段时间看数据库里的记录不就知道了
注意WebConfig里的session 的mode要设为:InProc
longj 2006-11-24
  • 打赏
  • 举报
回复
不行, 事件是在 timeout 之后触发
beijingbeerman 2006-09-12
  • 打赏
  • 举报
回复
我看行!
windspeed 2006-09-12
  • 打赏
  • 举报
回复
不好测试啊,我只要在客户端有动作,Session就不会失效

whu531 2006-09-12
  • 打赏
  • 举报
回复
测试一下不就知道了嘛!!!

62,041

社区成员

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

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

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

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