Ваши переменные сеанса также хранятся в базе данных, поэтому вы не обязательно сохраняете попадание в базу данных.И синтаксический анализ требует времени (вам нужно измерить его, чтобы увидеть, заметен ли он).
У меня похожая ситуация, когда у меня есть контактная информация для пользователя, который должен переходить со страницы на страницу.Получив его из базы данных, я помещаю его в переменные сессии, которые выглядят как Session("user.first-name")
, Session("user.last-name")
, Session("user.address")
и т. Д. Есть одна конкретная переменная ("user.id"), которую я проверяю, чтобы убедиться, что сессия не прошла.т истек.Итак, if IsEmpty(Session("user.id")) or Session("user.id") = ""
Я знаю, что сессия исчезла, и мне нужно это учитывать.Хотя использование «точечной нотации» в моих именах переменных сеанса бессмысленно, это помогает мне понять, что все эти переменные связаны, в отличие от наличия дюжины или более имен, таких как «имя», «фамилия»,и т. д. У меня есть одна функция, которая загружает все эти переменные, и другая, которая уничтожает их, когда я закончу с ними, что помогает управлять сложностью наличия большого количества переменных сеанса.
В других ситуациях я сохраняюколичество бит информации о пользователе в таблице базы данных и есть функция, которую я вызываю вверху каждой страницы, чтобы дать мне доступ к этой информации на странице.Это тоже хорошо работает.