很简单的东西,因为在学习中遇到了,所以记录下来.
事情的起因是,我在做一个购物蓝时,将一个自定义的类CartManager整个放进Session中,它的部分代码如下,其实就是有一个Private 的ArrayList成员_cart用来放CartInfo类实例,而CartInfo类又包括一个成员ProductInfo _product和一个double _moneny...并不复杂.但是我都没有弄任何Serializable的东西,于是...
本机调试没问题,放到服务器上却发现这个购物车表现非常怪异,时好时坏,总觉得好象Session里的东西乱得很,有时能存进去有时存不进?
比较了本机与服务器的环境,我知道问题肯定与SessionState有关.因为服务器用了Web Farm(并且将最大工作进程数设置成了10).
一般我们在做一个WEB Application的时候,它的SessionState的Mode=InProc的,可参见web.config文件中的配置
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="datasource=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
在服务器上,因为存在多个工作进程,所以需要将它的写法改成 mode=StateServer了,否则就会造成前面所说的Session中的值不确定的现象.但是,如果简单地这样改一下,系统又报错说对于以 StateServer 或者 SqlServer两种方式保存会话状态,要求对象是可序列化的(大意如此)...所以我们还需要再将对象做一下可序列化声明.
如果要保存的对象很简单,都是由基本类型组成的,就只需要声明一下属性即可,如:
[Serializable()]
publicclassProductInfo{
privatestringf_SysID;
publicstringSysID{
get{
returnthis.f_SysID;
}
set{
this.f_SysID=value;
}
}
对于本例中,CartInfo与 ProductInfo两个类,可以这样声明一下.只是CartManager就稍多几句话,如下:
这样实现了整个CartManager--CartInfo--ProductInfo的可序列化声明,于是就一切正常了...
分享到:
相关推荐
tomcat kryo序列化,msm-memcached-session-manager-tc7-1.8.2
tomcat kryo memcache session序列化 msm-memcached-session-manager-1.8.2
nginx+tomcat7+session共享 kryo序列化所需要包 1.将上面所提到的包全部拷贝到tomcat的lib下(三台tomcat都需要) 2.修改每台tomcat的conf目录下得context.xml文件或者server.xml文件,在其中加入如下任意一段代码...
tomcat服务器+memcached缓存session共享集群,软件包中包含各种序列化策略,已测试通过。
memcached
Memchached+Tomcat6|7session共享 kryo序列化所需要包 (已经更新至1.8.2版本) 1.将所有的包拷贝至tomcat目录下的lib下面; 2.修改conf/context.xml加下面的代码: memcachedNodes="n1:127.0.0.1:11211" ...
无法序列化会话状态问题的解决办法
tomcat服务器+memcached缓存session共享集群,软件包中包含各种序列化策略,已测试通过。
主要介绍了PHP中SESSION反序列化机制的相关资料,文中介绍的非常相信,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
在一个基于ASP.NET的Web应用程序中,我们通常使用SessionState保存基于某个客户端的状态信息。但是这种单纯使用SessionState的编程方式具有很多局限,比如SessionItem的Key值冲突,比如没有一个有效的SessionState...
sessionState配置方案[参考].pdf
通过这篇文章,你可以看到在Session的管理和维护上,ASP.NET比ASP有了很大的进步,我们可以更加随意的挑选适合的方法了。对于企业级的应用来说,这无疑对于服务器的同步、服务器的稳定性、可靠性都是有利的。相信在...
客户反应vps报错Unable to make the session state request,我司技术将解决方法总结如下,希望可以帮助更多的人解决“Unable to make the session state request”难题。 一、【Unable to make the session state ...
声明:请勿用作违法用途,否则后果自负0x01 简介Web应用软件的基于Java的Web应用软件容器。0x02 漏洞概述这次是由于错误配置和 org.apache
Memcached-session-manager所需的jar包-tomcat7-kryo序列
ASP.NET应用下基于SessionState的状态编程框架解决方案.docx
银河麒麟服务器操作系统Tomcat Session 反序列化代码执行漏洞(CVE-2020-9484)修复补丁所需环境,服务器上有的不需要下
银河麒麟服务器操作系统Tomcat Session 反序列化代码执行漏洞(CVE-2020-9484)修复补丁所需环境,服务器上有的不需要下
银河麒麟服务器操作系统Tomcat Session 反序列化代码执行漏洞(CVE-2020-9484)修复补丁所需环境,服务器上有的不需要下