2011-04-28 96 views
0

我正在ASP.net 3.5 C#中工作。我想要做的是当Session_End事件被调用时,我想更新当前用户已经以任何方式注销的数据库中登录的用户状态(手动注销,会话超时等,它调用Session_End事件)。问题是我不是罢了维护用户ID。我无法访问会话变量,因为会话已经过期,cookies也为我工作。会话结束事件

请提出解决方案。

非常感谢

问候 维韦克

回答

0

尝试推动用户名到ViewState的,如果你有从所有网页继承或者如果您使用母版,那么它应该是很容易推一的BasePage用户ID在每个页面上查看状态。 Cookies应该超越会话生命。您是否将Cookie的到期时间设置为?

+0

是的我设置14天的到期时间。此外,我正在使用母版页。 – Vivek 2011-04-28 14:33:54

0

您应该可以在Session_End事件中访问会话变量。存储在会话中的所有数据在Session_End事件完成后被删除。但你应该小心,因为会议是为所有参观者创建的。如果您将UserID存储在会话中,则在Session_End中可以为空,如果有人查看了登录页面但未登录。不建议将会话超时设置为天,因为这些会话可能会填满所有服务器内存。