В настоящее время я сериализую все классы и объекты одного проекта, потому что я перехожу из режима состояния сеанса asp.net InProc в режим вне процесса.
У меня есть сомнения в сценарии ниже, где у меня есть свойство с именем «myList» типа SelectList:
[Serializable]
public class MyCustomExtendedClass
{
public SelectList myList { get; set; }
// Other stuff
}
Поскольку я сохраняю его значение в объекте Session, мне нужно сериализовать свойство «myList» в классе «MyCustomExtendedClass», чтобы работать в режиме состояния сеанса вне процесса.
Ниже кода фрагмента показано, как сохранить значение в объекте Session:
MyCustomExtendedClass oResult = new MyCustomExtendedClass(param1, param2)
Session["MyKey"] = oResult.myList;
Я сомневаюсь: автоматически ли сериализуется свойство "myList", когда я сохраняю его в объекте Session, выполняя "Session [" MyKey "] = oResult.myList"? Или мне нужно явно пометить свойство как сериализуемое, как показано ниже?
[Serializable]
public class MyCustomExtendedClass
{
[Serializable]
public SelectList myList { get; set; }
// Other stuff
}