将序列化类中的属性分别插入到Session对象中后,它们是否会被序列化?

时间:2019-06-20 10:37:01

标签: asp.net properties session-state serializable asp.net-session

我当前正在序列化一个项目的所有类和对象,因为我正在从asp.net InProc会话状态模式转换为进程外模式。

我对以下情况有疑问,在这种情况下,我具有一个名为SelectList类型的“ myList”属性:

[Serializable]
public class MyCustomExtendedClass
{    
    public SelectList myList { get; set; }

    // Other stuff
}

由于我将其值存储到Session对象中,因此需要序列化“ MyCustomExtendedClass”类中的“ myList”属性,以便进程外会话状态模式可以正常工作。

下面的代码段显示了如何将值存储到Session对象中:

   MyCustomExtendedClass oResult = new MyCustomExtendedClass(param1, param2)
   Session["MyKey"] = oResult.myList;

我的疑问是:当我通过执行“ Session [“ MyKey”] = oResult.myList“将属性” myList“存储到Session对象中时,该属性会自动序列化吗?还是我需要按如下所示将属性明确标记为可序列化?

[Serializable]
public class MyCustomExtendedClass
{    
    [Serializable]
    public SelectList myList { get; set; }

    // Other stuff
}

0 个答案:

没有答案