Переменные, помещенные в Session, хранятся там, где сконфигурировано SessionStateProvider
для их хранения.
По умолчанию SessionStateProvider
используется так называемый сеанс In Process (InProc
), и место его хранения находится в памяти сервера, внутри пространства рабочего процесса ASP.NET.
Вы можете настроить свой собственный SessionStateProvider
для хранения переменных сеанса в другом месте, например вне процесса, в базе данных.
Переменные приложения хранятся в ApplicationState
, который также хранится в области памяти рабочего процесса ASP.NET. В отличие от состояния сеанса, состояние приложения применяется ко всем пользователям и сеансам. Насколько мне известно, нет конфигурации для хранения ApplicationState в другом месте; если вам нужно хранить большое количество данных приложения, вы можете посмотреть ASP.NET Caching .