加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

无法序列化会话状态

发布时间:2020-12-12 15:26:27 所属栏目:MsSql教程 来源:网络整理
导读:无法序列化会话状态 无法序列化会话状态。请注意,当会话状态模式为“StateServer”或“SQLServer”时,不允许使用无法序列化的对象或 MarshalByRef 对象。 在StateServer或者SQLServer模式的时候保存在Session里面的对象必须支持序列化!如果是内置的类创建

无法序列化会话状态

无法序列化会话状态。请注意,当会话状态模式为“StateServer”或“SQLServer”时,不允许使用无法序列化的对象或 MarshalByRef 对象。

在StateServer或者SQLServer模式的时候保存在Session里面的对象必须支持序列化!如果是内置的类创建的对象,则必须是支持序列化的对象;如果是自己定义的类创建,则可以在定义该类的时候标识如下:

   [Serializable]???
????   public????? class????? YourClass???
   {???
????????    //class????? code
????   }

[Serializable] 标识该类创建的对象是可以序列化的。
在C#里你需要session存储的类定义前加上这个标识

在asp.net(vb.net里 无法序列化的对象)
的解决方法如下
头部引用Runtime
Imports System.Runtime.Serialization.Formatter
在你需要序列化的类前面加上
<Serializable()> _
注意写法
写的过程成不注意如果出现提示 :属性说明符不是一个完整的语句
更正此错误的方法为:

  • ?

    如果声明语句位于随后的行中,应在属性块后添加空格和下划线 (_) 与源代码行组合在一起。

  • ?

    如果属性块没有相关联的声明语句,则应提供一个声明语句或移除属性块。

  • ?

    如果属性要应用于整个程序集或当前程序集模块,则该属性块保留在单独的源代码行中。在尖括号 (< >) 内的属性名前面放置 Assembly: 或 Module:,不要在属性块的后面添加空格或下划线。此外,确保此属性块位于源文件的开头。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读