ASP.NET sessionState配置为"StateServer"值ajax提交数据失败
web.config sessionState节点,sessionState有四种模式:off,inProc,StateServer,SqlServer。一般为了能稳定使用Session,我们常常会做如下配置:
<pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID" enableSessionState="true" />
<sessionState mode="StateServer" cookieless="false" timeout="240" stateConnectionString="tcpip=127.0.0.1:42424" stateNetworkTimeout="14400" />
<machineKey validationKey="78AE3850338BFADCE59D8DDF58C9E4518E7510149C46142D7AAD7F1AD49D95D4" decryptionKey="5FC88DFC24EA123C" validation="SHA1"/>
也就是将sessionState配置为StateServer状态。许多同胞们使用ajax提交数据(特别是登陆哈!)就出问题了?
这个并不是我们采用ajax的原因,其实是因为我们放入session的对象无法序列化造成的。
解决方案:
1 尽量使用基本类型的对象来存放数据
2 自定义类型只使用公有域/属性
3 为自定义类型实现序列化特性
总的一句就是session对象里放置自定义类型时,记得给类[Serializable]就可以了!
有疑问可以加QQ:120405869,一起探讨哈! asp.net --------------------编程问答-------------------- Thanks! --------------------编程问答-------------------- --------------------编程问答-------------------- 除
补充:.NET技术 , ASP.NET