Session 会话结束事件

Session 会话结束事件,session,timeout,Session,Timeout,我在ASP.net 3.5 C#中工作。我试图做的是,当调用会话结束事件时,我想更新已登录用户在数据库中的状态,即当前用户已通过任何方式注销(手动注销、会话超时等,它调用会话结束事件)。问题是我无法维护用户ID。我无法访问会话变量,因为会话已经过期,cookies也无法为我工作 请提出解决办法 非常感谢 问候 Vivek尝试将UserID推送到ViewState,如果您有一个所有页面都从中继承的基本页面,或者如果您使用MasterPage,那么在每个页面上将UserID推送到ViewState应

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

请提出解决办法

非常感谢

问候
Vivek

尝试将UserID推送到ViewState,如果您有一个所有页面都从中继承的基本页面,或者如果您使用MasterPage,那么在每个页面上将UserID推送到ViewState应该很容易。Cookie应在会话生命期之后处于活动状态。您正在为cookie设置过期时间吗?

您应该能够在会话结束事件中访问会话变量。会话结束事件完成后,将删除会话中存储的所有数据。但是您应该小心,因为会话是为所有访问者创建的。如果您在会话中存储UserID,那么如果有人查看了登录页面,但没有登录,则会话结束中的UserID可能为null。不建议将会话超时设置为天,因为这些会话可能会占用所有服务器内存。

是,我将过期时间设置为14天。此外,我正在使用母版页。