Сессия не сохраняется в базе данных ASPState?

У нас есть веб-приложение, настроенное как веб-сад. Из-за этого мы хотим сохранить состояние сеанса пользователя в режиме sqlserver. Моя конфигурация в web.config выглядит следующим образом

<sessionState mode="SQLServer" cookieless="false" sqlConnectionString="data source=[DBSERVER]; Database=ASPState; user id=[USERNAME];password=[PASSWORD];" />

Я запустил инструмент Aspnet_regsql.exe и установил -sstype как "p"

Я подтвердил, что могу также подключиться к ASPState DB с веб-сервера, предоставленное имя пользователя имеет разрешение на выполнение всех хранимых процедур в DB.

Используя инструменты разработчика в Chrome, я вижу файл cookie сеанса ASP.NET и вижу идентификатор, поэтому я знаю, что сеанс создается.

Я получаю любую ошибку БД.

Однако, когда я запрашиваю таблицу "ASPStateTempSessions", никаких записей нет. В "ASPStateTempApplications" нет никаких записей.

Когда эти сеансы должны быть сохранены в базе данных? Почему я не могу их увидеть?

2 ответа

Попробуйте добавить атрибут timeout.

<sessionState mode="SQLServer" cookieless="false" sqlConnectionString="data source=[DBSERVER]; Database=ASPState; user id=[USERNAME];password=[PASSWORD];" timeout="20" />

Попробуйте добавить время ожидания и имя приложения, ASPState является базой данных по умолчанию, поэтому мы можем удалить его

    <sessionState mode="SQLServer" timeout="20" sqlConnectionString="Data Source=SQLServer; Application Name=App; user id=UserName; password=Password"/>
Другие вопросы по тегам