Где сохраняются переменные сеанса?
Где именно сохранены переменные сеанса? Печенье? Серверная память?
Снова где хранятся переменные приложения?
Ответы
Ответ 1
Переменные, помещенные в сеанс, сохраняются везде, где сконфигурированный SessionStateProvider
настроен для их хранения.
По умолчанию SessionStateProvider
использует то, что называется сеансом In Process (InProc
), а место хранения для него - в памяти сервера, внутри пространства памяти рабочего процесса ASP.NET.
Вы можете настроить свой собственный SessionStateProvider
для хранения переменных сеанса в другом месте, например вне процесса, в базе данных.
Переменные приложения хранятся в ApplicationState
, которые также хранятся в памяти рабочего процесса ASP.NET. В отличие от состояния сеанса, состояние приложения применяется ко всем пользователям и сеансам. Насколько мне известно, нет конфигурации для хранения ApplicationState в другом месте; если вам нужно хранить много данных приложения, тогда вы можете посмотреть кэширование ASP.NET.
Ответ 2
Переменные сеанса хранятся в Память сервера и диск как Переменные приложения.
Из документации ASP.NET:
Состояние сеанса ASP.NET поддерживает несколько параметры хранения для переменных сеанса. Каждый вариант идентифицируется как Тип режима сеанса. По умолчанию поведение - хранить переменные сеанса в пространстве памяти ASP.NET рабочий процесс. Однако вы также можете указать, что состояние сеанса должно быть хранится в отдельном процессе, в SQL База данных сервера или пользовательские данные источник. Если вы не хотите сеанса состояние включено для вашего приложения, вы можете установить для режима сеанса значение "Выкл.".
Ответ 3
Для сеанса InProc переменные хранятся локально в памяти рабочего процесса ASP.NET. То же самое касается состояния приложения.