当用户会话即将到期时,我想将数据保存在控件中。我在 global.asax 文件的 session_end 中编写了代码。但是当用户闲置较长时间会话到期但数据未保存时,它不起作用。如果我们在 session_end 事件中编写代码,那么处理哪个事件是正确的。
问问题
945 次
1 回答
0
这个时候你必须很棘手....
我个人按照几个步骤来完成它......
- 添加基本页面
- 在会话变量上添加一个键
IsActive
以检查会话到期。 - 用户登录时初始化值
IsActive
.. Override OnLoad
页面类功能- 添加一个函数来检查会话值是否即将过期
如果页面过期,则将值插入数据库 tempDB 表
public abstract class BasePage : Page { protected override void OnLoad(EventArgs e) { CheckIsSessionExpired(); //The base method must invoke after CheckIsSessionExpired base.OnLoad(e); } private void CheckIsSessionExpired() { //Handling Session Expire //Any other case if session expired then it must redirect to LogOut page if (Session["IsActive"]==null) { TempBLL.InsertIntotempTable("some data"); Responne.Redirect(SessionExpiredPage); } } }
于 2013-11-11T15:11:32.577 回答