如果使用StateServer或SQLServer,会遇到的问题。。。。
2009-07-01 13:40
453 查看
但如果使用StateServer或SQLServer,则要求val的类型必须是一个可序列化类型,因为ASP.NET应用在于状态服务器之间交换数据时,需要对对象进行序列化。如果val不可序列化(有私有域/属性并且没有指定自定义序列化特性),则会在运行时出现如下异常:
无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。
解决方法有这样几种:
1 尽量使用基本类型的对象来存放数据
2 自定义类型只使用公有域/属性
3 为自定义类型实现序列化特性
在类的上边加上
[Serializable]
无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。
解决方法有这样几种:
1 尽量使用基本类型的对象来存放数据
2 自定义类型只使用公有域/属性
3 为自定义类型实现序列化特性
在类的上边加上
[Serializable]
相关文章推荐
- SQL Server WAITFOR Delay 使用变量遇到的问题和解决办法
- 首次使用Microsoft Sql server软件遇到的问题
- SERVER2008IIS服务器不能正常使用(由于扩展配置问题而无法提供您请求的页面,如果该页面是脚本...)
- 使用TThreadPoolServer遇到的问题
- sqlserver 使用中遇到的问题(字符串的合并)
- 无法序列化会话状态。请注意,当会话状态模式为“StateServer”或“SQLServer”时,不允许使用无法序列化的对象或 MarshalByRef 对象。
- SqlServer复制功能使用中遇到的问题点
- 在win2003server上使用移动硬盘时遇到的问题以及禁用“关闭事件跟踪程序”
- 关于php中使用odbc或者pdo连接sqlserver时如果查询条件中存在中文会导致查询失败的问题
- 在Windows Server 2008 R2 Server中,连接其他服务器的数据库遇到“未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker ”
- 关于:“无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。”的问题
- ACCESS有个BUG,那就是在使用 like 搜索时如果遇到日文就会出现“内存溢出”的问题
- 解决在SQL server 2000中病毒时遇到的Microsoft SQL-DMO(ODBC SQLState :42000)问题
- 无法序列化会话状态。请注意,当会话状态模式为“StateServer”或“SQLServer”时,不允许使用无法序列化的对象或 MarshalByRef 对象。
- sqlserver使用OpenQuery或OPENROWSET遇到的问题
- 当会话状态模式为“StateServer”或“SQLServer”时,不允许使用无法序列化的对象或 MarshalByRef 对象
- 使用arcgis server manager 遇到的问题(一)
- 关于Entity Framework更新的几种方式以及可能遇到的问题(附加类型“Model”的实体失败,因为相同类型的其他实体已具有相同的主键值)在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为
- Windows Media 数字权限管理(DRM)组件遇到问题。如果您正在尝试使用从在线商店获取的文件,请到在线商店并获取适当的使用权。