Как установить время ожидания сеанса в web.config - PullRequest
164 голосов
/ 30 июля 2009

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

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

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

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

Ответы [ 3 ]

304 голосов
/ 30 июля 2009

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

    <configuration>
      <system.web>
         <sessionState timeout="20"></sessionState>
      </system.web>
    </configuration>
47 голосов
/ 30 июля 2009

Значение, которое вы устанавливаете в атрибуте 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. Они обеспечивают проверку подлинности на основе форм, которая гораздо более надежна, чем обычная проверка подлинности на основе сеансов, которую вы пытаетесь использовать.

0 голосов
/ 28 июня 2011

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

<sessionState 

  timeout="20" 
/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...