避免asp.net程序session过期的一个另类方法

开发asp.net应用程序,经常会使用session对象,把一些数据保存在session中,然后方便其他的page进行调用。session有一个有效期(默认大概是20分钟),一旦过期,数据就会自动删除。

很多用户在使用asp.net程序的时候,都希望session的有效期长一些(比如3小时),或者干脆不要过期,不然一段时间不用,就需要重新登录,相当麻烦。

我在设置session有效期的时候,却遇到了很多的麻烦。我发现有3个地方都会对session的有效期产生影响:1是web.config中的设置;2是iis设置中网站属性的“会话”时间;3是应用程序池的自动回收时间(这个是Server2003里面的设置)。我在网上读了很多相关的文章,也做了很多实验,但是总是设置不好,搞不清这3个设置项之间的关系。

于是,我想了个另类的方法:只要让一个page定时的刷新,session就永远不会过期了。一般的asp.net程序,都会用f r a m e来管理菜单和页面。通常最上面一条f r a m e是软件的标题,左边一块f r a m e是菜单的树型控件,右边是主要的操作区。我决定让左边的菜单页面定时的刷新。

定时刷新页面的设置非常简单,只要在aspx文件的head标记中,增加下面一行:

<m e t a http-equiv="refresh" content="300" />

300代表的是300秒,也就是5分钟刷新一次,远远小于一般默认的20分钟,用户在使用的时候也几乎不会注意到左侧的刷新,对用户的影响非常小。这样虽然没有根本解决session有效期的设置问题,我还是实现了用户的需求。

转载于:https://www.cnblogs.com/powerson/archive/2009/03/15/2090664.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值