我当前正在序列化一个项目的所有类和对象,因为我正在从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
}