为您服务 杂事杂记 奇源共赏 程序相关 数码影像 留 言 簿
Create at:2008-11-06 10:45:33
解决win2003下Session丢失方法
袁晓力个人网站 http://www.yxl.cn/
解决win2003下Session丢失方法
2007-04-20 10:51

http://hi.baidu.com/xiaojipai/blog/item/a24b4c08ae2243940a7b8214.html

查看源代码后发现是用session来验证的。我试过很多方法,改服务器的Session超时时间为60分钟(默认为20分钟,其实也足够了),改连接超时时间为15000秒(这个其实更没用,不关session事),改脚本超时时间为3000秒(这个也没用,还是不关session事),又改相应网站的应用程序池的回收设置为不回收。这些都改了,还是没用。后面在msdn上看到一篇文章,全文如下:可就是英文的,看不大懂。大意好像是说,如果使在网页中用了框架(FRAMESET),Session变量会丢失(IIS6,IE6,windows2003环境),并给出了解决的办法,可俺就是瞧不懂,请求哪位高人给翻译一下,关键是加http头那里,谢谢了。原文链接:
http://support.microsoft.com/kb/323752/EN-US



保持Session的方法:有人说设session.timeout=-1,或小于0的数。这种方法肯定是不行的,session计算时间以分钟为单位,必须是大于等于1的整数。又有人说设session.timeout=99999。这种同样不行,session有最大时间限制。我经过测试发现最大值为24小时,也就是说你最大可以session.timeout=1440,1441都是不可以有,呵呵。本人测试环境:win2003+IIS6.0+ASP3.0。

      所以想通过设session.timeout的过期时间让session永不过期是不可能的。写到Cookies里是比较好的方法,网上也有很多这样的教程,这里就不再说了!还有就是用在要保持session的页里设隐藏iframe每隔一段时间(这个时间小于session.timeout的时间)把涮新一次frame里的空页面!实现方法如下:

       在要保持session页里加上:


       同目录下建一下SessionKeeper.asp的文件。

   
   






       这种方法还是比较长见的,另外还有一种和上面类似的方法,不过他不是用meta自动涮新嵌套的iframe的方法。他是用javascript:window.setTimeout("functionname()",10000);第隔一段时间时间自动调用一个函数的方法,当然函数里还是要去连接一个空的文件。具体方法如下:

       在要保持session面里加上: </script>

次.
[大号字]  [中号字]  [小号字]  [打印页面]  [加入收藏]  [关闭窗口]
附件
相关文章
评论(Write)
发表评论
笔名:
网址:
评论:
CopyRight (C) 袁晓力  WWW.YXL.CN  1999-2008