Изменены ли данные сеанса ASP.NET? - PullRequest
2 голосов
/ 24 марта 2010
List<Foo> fooList = Session["foo"] as List<Foo>;
fooList.Add(bar);

Изменяет ли вызов Add () данные, которые находятся в сеансе? Другими словами, когда я в следующий раз вытащу «foo» из сессии, список будет содержать bar?

1 Ответ

2 голосов
/ 24 марта 2010

Да, сессия будет изменена, поскольку List<T> является ссылочным типом. Все, что эта переменная fooList представляет, является указателем на реальный объект, и все, что представляет Session["foo"], является также указателем на тот же объект Таким образом, изменение fooList повлияет на реальный объект, на который также указывает сеанс. Поведение будет другим, если вы храните типы значений в сеансе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...