【问题标题】:how to store a list of objects in session如何在会话中存储对象列表
【发布时间】:2010-06-24 06:03:44
【问题描述】:

我想在会话中存储一个对象列表

List<ContentQueueLog> inactiveContent = GetInActiveContent(this.userID, this.visitorID);

当我将此列表存储在 sesssion 中时,它会被存储,但在尝试获取它时 它的空

我在 sql 中存储会话 有人暗示我关于序列化 但我不明白 需要解释一下

【问题讨论】:

  • 如果你得到空值,你怎么知道列表存储在会话中?至于 SQL 存储,您需要使用 [Serializable] 属性装饰 ContentQueueLog 类。
  • @darin:我设置会话的地方我得到了正确的值,但在其他页面上它是空的,但是添加属性 [serializable] 解决了这个问题 thanx Darin,但我不明白这背后的科学

标签: c# asp.net configuration


【解决方案1】:

如果您为会话使用进程外存储,例如 SQL Server 或状态进程,您需要使用 [Serializable] 属性装饰您打算在会话中存储的对象,因为它们需要通过电线并保存为二进制表示。稍后当您尝试从会话中读取它们时,ASP.NET 将通过网络获取此二进制表示并将它们反序列化回原始对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-25
    • 2013-11-13
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    相关资源
    最近更新 更多