2010-08-30 1 views
3

Хотелось бы узнать, будет ли провайдер сеанса ASP.NET в режиме SQL оптимизировать выборку всего объекта состояния сеанса (то есть всех ключей и их значений, когда мы запрашиваем один) или получить их ленивым способом (т.е. переходит в базу данных и извлекает только запрошенный ключ и соответствующее значение)?Ложная загрузка переменных сеанса в режиме ASP.NET SQL Server

ответ

3

Я установил состояние сеанса SQL для SQL как это:

aspnet_regsql.exe -sstype c -ssadd -d mydatabase -U MyUserName -P MyPassword -S xx.xx.xx.xxx 

Ниже один из «выбрать» хранимых процедур, которые устанавливаются. Я попытался понять это.

Мне кажется, что все сеансовое состояние пользователя сериализовано и хранится в одной записи базы данных. Это означало бы, что все сеанс пользователя будет загружен для доступа к любой записи.

Я предполагаю, что он, вероятно, загружен по умолчанию на ранних этапах жизненного цикла страницы или приложения ASP.net (возможно, только если компилятор распознал доступ к Session() в любом из кода страницы).

enter image description here

Вот таблица, где данные сеанса получает хранится, для справки:

enter image description here