ASP.NET存储状态的一个问题
来源:互联网 发布:qq飞车卓越数据 编辑:程序博客网 时间:2024/06/06 05:54
通常,ASP.NET存储会话状态有三种方式——InProc、StateServer和SQLServer。一般最常用的是第一种,在这种情况下,可以用类似这样的语法来存储会话状态:Session["key"] = val。其中val可以使任何类型的对象。
但如果使用StateServer或SQLServer,则要求val的类型必须是一个可序列化类型,因为ASP.NET应用在于状态服务器之间交换数据时,需要对对象进行序列化。如果val不可序列化(有私有域/属性并且没有指定自定义序列化特性),则会在运行时出现如下异常:
“/”应用程序中的服务器错误。
无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。
解决方法有这样几种:
1 尽量使用基本类型的对象来存放数据
2 自定义类型只使用公有域/属性
3 为自定义类型实现序列化特性
……
几种方法优劣暂不作说明。我偷懒用了第一种。
- ASP.NET存储状态的一个问题
- Asp.Net在多线程环境下的状态存储问题
- ASP.Net中用ViewState存储自定义复杂对象后类型转换的一个问题
- Asp.net页面存储状态机制
- 实现ASP.net会话状态存储提供者
- asp.net启动的一个小问题
- 求教一个ASP.NET的基本问题
- ASP.NET MVC3的一个OutputCache问题
- [ASP.net(C#)]最简单的一个存储过程
- ViewState - ASP.NET的一个特有存储容器
- 一个asp.net调用存储过程来分页的代码
- ViewState - ASP.NET 的一个特有存储容器
- ASP.NET状态保存状态的方法
- ASP.NET 的状态管理
- ASP.NET 的状态管理
- ASP.NET 的状态管理
- ASP.NET 的状态管理
- asp.net的状态管理
- 开发和使用自定义服务器控件 (二)
- 开发人员需要知道的东西杂谈
- 网络招聘市场风起云涌,地域的重要性有多大
- awk使用手册
- Linux下C语言编程-进程的创建
- ASP.NET存储状态的一个问题
- 初识字典树
- Struts+Spring+Hibernate真正入门级实例
- Form窗体的KeyPreview属性的妙用(.NET C#)
- 转:用jsp生成树
- vb.net 遍历Dategrid
- RDF/XML
- 发展P2P IPTV有可能使中国实现顶层创新
- RTTI关于dynamic_cast的学习笔记(1)