Session过期问题揭密
来源:互联网 发布:湖南java软件公司 编辑:程序博客网 时间:2024/04/28 03:43
天杀的Session失效,都让我碰到了
1.目录删除及重命名操作 ,一定丢失Session~~! :
如果你发现session突然无理由的丢失,而当你认真的检查代码并且排除其它常规可能丢失
的可能性时,你可能会像我一样,几乎要接近崩溃~!
后来发现问题出在我用代码创建一个临时目录然后删除临时目录的删除操作上。
现在和大家分享下:希望对碰到类似钉子的朋友有用。。
说白了session丢失实质就是:应用程序重起!
应用程序什么时候自动重起呢?
请参考:Anand在dotnetindia.com发表的文章
也就是说 asp.net 会监视应用程序目录,一但有被监视
的动作发生(比如:修改了config、重命名目录等)应用程序就会自动重起
当然这时你的session一定丢失了。
如果避免不了这种操作(如:重命名目录);这里我们可以用cookie存信息或存到数据库去;
注意:除了以上列出的英文条件外。目录的删除操作一定丢失session。asp.net的内部机制对待目录有点像个守财奴,它死守着目录,你创建它不会管(往里加),一但创建他就会监视该目录,若你要删除或重命名它的(动它的目录),它就发生重起了。。
2.Frame中关于Session丢失的解决方法!
Posted on 2007-06-04 14:30 听棠.NET 阅读(1592) 评论(4) 编辑 收藏 所属分类: 技术积累在开发中,我们经常会遇到使用Frame来工作,而且有时是为了跟其他网站集成,应用到多域的情况下,而Iframe是不能保存Session的。因此,网上可以找到很多相关的文章,如果网站可以采用设置Web.Config中的配置:<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="40"
/>
把cookieless="false"改成"true"就可以了。但也同样有个小问题,就是如果页面中采用Javascript的window.location.href=''这样的方式来重定向的话,系统会认为这是另一个新的请求,产生一个新的SessionId,导致原Session同样的丢失。所以对于重定向,还是使用Response.Redirect()为好。
除了Ifrmae有丢Session问题外,frameset也有同样的问题。Frameset的问题更不移定,是有时会丢,有时不会丢,这更认人头痛,在网上找到了一个方法,在页面page_onload里添加一语句:
Response.AddHeader("P3P","CP=CAO PSA OUR");
FrameSet中的Session丢失问题就解决了。至于里面具体的原因 也没时间去搞懂了。
参考文章:http://zwchen.javaeye.com/blog/52196
- Session过期问题揭密
- Session过期问题
- Session过期问题
- Session过期问题
- Session过期问题
- Session的过期问题
- Session过期时间问题
- 设置Session过期问题!
- Session 过期问题
- session过期问题
- session过期问题
- session过期处理问题
- 设置session过期时间问题
- Java WEB Session过期问题
- CodeIgniter session过期时间问题
- 关于session过期的问题,
- birt session 过期问题,跨域问题
- Asp.net的Session过期问题
- 将AVS1-P2 Decoder项目移植到linux下
- cygwin
- 整合一个项目可真难
- 蓝牙的移植
- 关于contextMenuStrip控件的定位问题
- Session过期问题揭密
- KVM在嵌入式Linux上的移植
- 创建5个学生对象,求他们java成绩的最高分和最低分
- 简单工厂设计模式
- 仿msn弹出
- 交换机原理
- java学习笔记(一)--编程规范和技巧总结
- 进军嵌入式Linux-学习方案
- RGB565 to RGB24