Я думаю, что здесь вы можете немного запутать несколько понятий.
SessionState и "Logged In" могут означать две разные вещи.
SessionState представляет объекты / данные, хранящиеся в объекте «Session» в среде.Вход в систему пользователей обычно контролируется с помощью системы членства ASP.NET.У вас может быть пользователь, который имеет постоянный логин (Запомнить меня), но время сеанса истечет через 20 минут.Система все еще будет помнить их, но данные, которые были «кэшированы» для пользователя в сеансе, могут быть утеряны.
Если говорить непосредственно о вашем вопросе, да, есть НЕСКОЛЬКО проблем с этим типом подхода для состояния сеанса SQLи в зависимости от размера значений, передаваемых в сеанс, и трафика, он может быть более или менее экстремальным.
Эта информация все еще будет занимать память, только память жесткого дискасо стороны БД, но по мере роста вы можете увидеть снижение производительности.Одно только прекращение сеанса может вызвать кеширование огромных объемов данных.
По мере увеличения количества элементов сеанса производительность сеанса будет снижаться, а нагрузка на систему SQL Server будет увеличиваться.
В зависимости от размера сервера, лицензии SQL Server и трафика, у которого могут возникнуть проблемы с БД или аппаратными ограничениями при хранении сеанса в течение такого длительного времени.