Мне нужно сохранить данные сеанса. я написал много свойств, как то:Лучший способ управления данными сеанса
public List<string> FillOrder
{
get { return Session[SessionKeys.QueryFillOrder] as List<string> ?? new List<string>(); }
set { Session[SessionKeys.QueryFillOrder] = value; }
}
Когда я должен потреблять эти данные я должен написать код, который:
List<string> fillOrder = FillOrder;
fillOrder.Add(accordion.ID);
FillOrder = fillOrder;
, что мне кажется, так некрасиво, потому что я предпочел бы сделать что:
FillOrder.Add(accordion.ID);
но таким образом мое значение не будет сохранено в сеансе.
Можете ли вы придумать какой-либо лучший способ добиться того же результата?
спасибо!
Спасибо за ваш ответ! И, используя этот подход, MySession.Current.FillOrder.Add (accordionID) будет сохраняться автоматически в сеансе? Я не могу понять магию! : D – Alessandro
Да! Когда вы впервые получаете доступ к MySession.Current, новый экземпляр MySession будет создан и сохранен в сеансе ASP.NET.С этого момента вы всегда будете работать с этим экземпляром. Установите точку останова для получателя текущего свойства, чтобы узнать, как он работает. – M4N
Да, ясно, что я всегда работаю с этим экземпляром. То, что я не могу понять, это то, где он сохраняет изменения в сеансе. – Alessandro