как управляется сессия?
Когда браузер отправляет запрос на ваш сайт, сервер генерирует UID с именем sessionid и
этот 'Sessionid' управляется в Session Table. На сервере создается таблица для управления
идентификатор сессии для различных веб-клиентов (браузеров).
Этот идентификатор сеанса отправляется клиенту. после этого сеанса также отправляется на сервер после первого запроса.
Есть два режима InProc
и OutProc
(Sql-сервер, сервер состояний и т. Д.).
Проверьте эти ссылки для получения дополнительной информации:
Управление состоянием сеанса в Asp.net
Состояние сеанса
Когда вы устанавливаете <sessionState mode="SQLServer"
, он сохраняет значения сеанса в базе данных sql. Перейдите по этой ссылке, чтобы узнать, как SessionState работает в режиме StateServer
.
Быстрое, масштабируемое и безопасное управление состоянием сеанса для ваших веб-приложений
ASP читает / пишет в базу данных каждый раз, когда я получаю доступ к этому
недвижимость?
Состояние сеанса управляется классом SessionStateModule, который вызывает поставщика хранилища состояний сеанса для чтения и записи данных сеанса в хранилище данных в разное время во время запроса. В начале запроса экземпляр SessionStateModule извлекает данные из источника данных, вызывая метод GetItemExclusive, или, если для атрибута страницы EnableSessionState было установлено значение ReadOnly, путем вызова метода GetItem. В конце запроса, если значения состояния сеанса были изменены, экземпляр SessionStateModule вызывает метод SessionStateStoreProviderBase.SetAndReleaseItemExclusive для записи обновленных значений в хранилище состояния сеанса.
Следуйте this для получения более подробной информации и проверьте SessionState Overview для уточнения вопросов как second
, так и third
.
Относительно вашего фрагмента кода: при первом запуске сеанса все значения будут нулевыми, поэтому вы должны проверить, является ли сеанс новым. как вы делаете в Getter
.