Как установить тайм-аут сеанса в web.config

Я очень старался, но не могу найти решение о том, как установить значение тайм-аута сеанса для сеанса in-process для веб-приложения ASP.Net.

Я использую VSTS 2008 +.Net 3.5 + С#. Вот что я написал сам, чтобы установить тайм-аут на 1 минуту, правильно ли это?

Я написал в разделе system.web в web.config

<sessionState timeout="1" mode="InProc" />

Ответ 1

Если вы хотите установить тайм-аут на 20 минут, используйте что-то вроде этого:

    <configuration>
      <system.web>
         <sessionState timeout="20"></sessionState>
      </system.web>
    </configuration>

Ответ 2

Значение, которое вы устанавливаете в атрибуте timeout, является одним из правильных способов установки значения таймаута сеанса.

Атрибут timeout указывает количество минут, в течение которых сеанс может простаивать до его отказа. Значение по умолчанию для этого атрибута - 20.

Назначив значение 1 этому атрибуту, вы отключили сеанс через 1 минуту после его простоя.

Чтобы проверить это, создайте простую страницу aspx и напишите этот код в событии Page_Load,

Response.Write(Session.SessionID);

Откройте браузер и перейдите на эту страницу. Идентификатор сеанса будет напечатан. Подождите минуту, чтобы пройти, а затем нажмите обновление. Идентификатор сеанса изменится.

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

Session["UserId"] = 1;

Теперь вам нужно выполнить проверку на каждой странице для этой переменной, как это -

if(Session["UserId"] == null)
    Response.Redirect("login.aspx");

Это пример с голубыми костями, как это будет работать.

Но для обеспечения безопасности ваших приложений для обеспечения качества используйте классы Роли и членство, предоставляемые ASP.NET. Они обеспечивают аутентификацию на основе форм, которая намного надежнее обычной проверки подлинности на основе сеанса, которую вы пытаетесь использовать.

Ответ 3

Используйте это в web.config:

<sessionState 

  timeout="20" 
/>

Ответ 4

если это не работает из web.config. вам нужно установить его из IIS.