Сессия не сохраняется в базе данных 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 с веб-сервера, а предоставленное имя пользователя имеет разрешение на выполнение всех хранимых процедур в БД.

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

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

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

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


person Matt Stewart    schedule 13.11.2013    source источник
comment
Могли бы вы вставлять и извлекать данные из SessionState, кроме записей в ASPStateTempSessions?   -  person Win    schedule 13.11.2013
comment
Вы имеете в виду вручную вставлять / обновлять записи в этой базе данных?   -  person Matt Stewart    schedule 14.11.2013


Ответы (2)


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

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

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

    <sessionState mode="SQLServer" timeout="20" sqlConnectionString="Data Source=SQLServer; Application Name=App; user id=UserName; password=Password"/>
person Tony Dong    schedule 27.11.2017