彻底解决session设置timeout不起作用、自动失效的方法
最近做了一套信访管理系统,由于上访登记时间较长,所以要求系统设置页面超时时间必须长,不然数据输入完了程序总是提示"用户登录超时,请您重新登录",这样的话,输入的数据就白费了。所以我决定将时间限制设定长一些,就设置5个小时吧,应该够了吧...
以下是代码片段: ’-- 设定在5个小时 session.timeout = 300 ’× |
系统运行环境:win2003+iis6.0+asp
做了多次测试,居然不好用,这是为什么呢,上网找了许多资料,但是都属于session的基础篇,所以狠下心来,也不找了,自己研究吧,但是无论多少次测试却都无效,没办法了,换个方法试试吧,用cookies配合下session,看看效果,这一试问题居然解决了,结果出来了,得出论证了,原来如此,下面我来说下解决方法:
以下是代码片段:
’-- 这样一旦session自动失效,你就可以用cookies值来判断
’-- 同时也可以用cookies来限定超时时间,假设设定为1天 |
这样就可以了,引用这种方法的时候需要注意,在退出登录的时候,将cookies值也清空,不然会有安全隐患。
之所以导致session设置timeout不起作用,session自动失效的原因个人认为就是因为session相对于cookies来说还不够稳定,所以实现timeout这种功能的时候,最好还是用cookies的expires来取代吧.