session里的数据为什么无缘无故丢失? session中保存了一个的id值,许多业务逻辑要根据这个id值来处理,所以许多页面要从session里获取这个值,但是令人纠结的是有时候总是取不到,没有session.remove ,session也米有过期。后来加了个session的监听器发现有时候自己就把这个值给清除了。总是这样用,从来没遇到过这中问题,我的世界观都被颠覆了。。求救! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、InProc session存储在进程内,即inetinfo.exe这个进程中。2、SQLServer 会话状态将使用进程外 SQL Server 数据库来存储状态信息。 3、StateServer 会话状态将使用进程外 ASP.NET 状态服务来存储状态信息。 而IIS默认是以InProc方式来存储session的,即存储在 IIS进程中,也就是inetinfo.exe这个进程。当inetinfo.exe进程不稳定或崩溃时,这些信息也就会丢失。另外,当IIS关闭,重启时Session信息也会丢失。查看session配置的存储方式,用地3种比较好一些,一般的丢失问题都可以避免。 俺是java的,不过与.net应该大同小异,tomcat中是怎么管理回话状态的? 中间件不会有这样的问题。一般两种可能性:1、无意中对session该属性set了null;2、JSessionID发生了变化,多半出在集群环境下;你是用的:HttpSessionAttributeListener 来做属性监听么?那么在清除的事件中,你这么做:Throwable stack = new Throwable();stack.printStackTrace(); 在打印出来的堆栈信息,看看究竟是哪个类的那句话,把属性给remove 或者 set了null。 没有对这个session的操作 set为空什么的, 在用到这个session的地方打印sessionid 都是一样的, session的名字有什么要求吗?名字起得是"session_siteid" 找到是谁了!window.showModalDialog在这用打开的窗口中操作返回时,不止怎么回事就调用了login.do login.do会把session中的值清掉 大家看看错在哪儿了? jsp+servlet导出excel,导出数据量为6w,如何管理自己的内存?(poi) Tomcat的问题 怎样让多于的内容用省略号代替? 有谁清楚大型门户网站的性能优化策略??? 请问要在Jbuilder9中用wincvs如何配置? 如何连接数据库呀 怎么样判断所输入的日期值 一个数据库删除的问题,急急急 jsp问题:有了多个文件和文件夹该如何配置? 求好心人帮忙(jsp) struts2之小问题?
session存储在进程内,即inetinfo.exe这个进程中。
2、SQLServer
会话状态将使用进程外 SQL Server 数据库来存储状态信息。
3、StateServer
会话状态将使用进程外 ASP.NET 状态服务来存储状态信息。
而IIS默认是以InProc方式来存储session的,即存储在 IIS进程中,也就是inetinfo.exe这个进程。当inetinfo.exe进程不稳定或崩溃时,这些信息也就会丢失。另外,当IIS关闭,重启时Session信息也会丢失。
查看session配置的存储方式,用地3种比较好一些,一般的丢失问题都可以避免。
1、无意中对session该属性set了null;
2、JSessionID发生了变化,多半出在集群环境下;
你是用的:HttpSessionAttributeListener 来做属性监听么?那么在清除的事件中,你这么做:
Throwable stack = new Throwable();
stack.printStackTrace();
在打印出来的堆栈信息,看看究竟是哪个类的那句话,把属性给remove 或者 set了null。
没有对这个session的操作 set为空什么的, 在用到这个session的地方打印sessionid 都是一样的, session的名字有什么要求吗?名字起得是"session_siteid"
window.showModalDialog在这用打开的窗口中操作返回时,不止怎么回事就调用了login.do login.do会把session中的值清掉