Изменение значения по умолчанию для тайм-аута переменной сеанса в asp.net mvc - программирование

Изменение значения по умолчанию для тайм-аута переменной сеанса в asp.net mvc

У меня есть приложение Asp.net Mvc с движком представлений razor, в котором я использовал переменную Session['user']: когда пользователь регистрируется в приложении Session['user'] = login, а при выходе из системы эта переменная принимает значение Null.

Проблема заключается в том, что существует короткий тайм-аут, и переменная сеанса истекает: если я ничего не сделаю через одну минуту после входа в приложение Session['user'] =null автоматически.

Итак, как я могу установить тайм-аут переменной сеанса неограниченно до тех пор, пока она не будет изменена программой? Любые предложения?

4b9b3361

Ответ 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>