Изменение значения по умолчанию для тайм-аута переменной сеанса в asp.net mvc
У меня есть приложение Asp.net Mvc с движком представлений razor, в котором я использовал переменную Session['user']
: когда пользователь регистрируется в приложении Session['user'] = login
, а при выходе из системы эта переменная принимает значение Null
.
Проблема заключается в том, что существует короткий тайм-аут, и переменная сеанса истекает: если я ничего не сделаю через одну минуту после входа в приложение Session['user'] =null
автоматически.
Итак, как я могу установить тайм-аут переменной сеанса неограниченно до тех пор, пока она не будет изменена программой? Любые предложения?
Ответы
Ответ 1
Итак, как я могу установить тайм-аут переменной сеанса неограниченно до тех пор, пока она не будет изменена программой? Любые предложения?
Вы не можете установить значение timeout
неограниченно.
Вы можете увеличить значение тайм-аута в минутах, используя атрибут timeout
элемента sessionState
в web.config.
НАСТРОЙКИ ГОСУДАРСТВЕННОГО СОСТОЯНИЯ
По умолчанию ASP.NET использует файлы cookie для определения того, какие запросы принадлежат определенному сеансу. Если файлы cookie недоступны, сеанс можно отследить, добавив идентификатор сеанса в URL. Чтобы отключить файлы cookie, установите sessionState cookieless="true".
(120 = минуты)
<sessionState mode="StateServer" cookieless="false" timeout="120"/>
Проверьте Session-Time out
Ответ 2
Вы не можете назначить его неограниченно. Вы можете увеличить значение в минутах, используя атрибут тайм-аута элемента состояния сеанса в web.config
<sessionState timeout="30">
</sessionState>
По умолчанию значение таймаута сеанса составляет 20 минут. Также в вашем случае, если вы используете проверку подлинности форм, также проверьте значение времени ожидания аутентификации
<authentication mode="Forms">
<forms loginUrl="logon.aspx"
protection="All" path="/" timeout="30" />
</authentication>
Ответ 3
Это время ожидания сеанса, а не переменная. Установите его в конфигурации в минутах
<sessionState timeout="30" />
Ответ 4
Невозможно установить время сеанса: unlimited. Вместо этого установите время сеанса на пример с высоким значением:
<configuration>
<system.web>
<sessionState mode="InProc" timeout="350" />
</system.web>
</configuration>