Хотелось бы узнать, будет ли провайдер сеанса ASP.NET в режиме SQL оптимизировать выборку всего объекта состояния сеанса (то есть всех ключей и их значений, когда мы запрашиваем один) или получить их ленивым способом (т.е. переходит в базу данных и извлекает только запрошенный ключ и соответствующее значение)?Ложная загрузка переменных сеанса в режиме ASP.NET SQL Server
3
A
ответ
3
Я установил состояние сеанса SQL для SQL как это:
aspnet_regsql.exe -sstype c -ssadd -d mydatabase -U MyUserName -P MyPassword -S xx.xx.xx.xxx
Ниже один из «выбрать» хранимых процедур, которые устанавливаются. Я попытался понять это.
Мне кажется, что все сеансовое состояние пользователя сериализовано и хранится в одной записи базы данных. Это означало бы, что все сеанс пользователя будет загружен для доступа к любой записи.
Я предполагаю, что он, вероятно, загружен по умолчанию на ранних этапах жизненного цикла страницы или приложения ASP.net (возможно, только если компилятор распознал доступ к Session() в любом из кода страницы).
Вот таблица, где данные сеанса получает хранится, для справки: