установить тайм-аут для конкретной сессии - PullRequest
2 голосов
/ 20 августа 2011

Как я могу установить время ожидания для сеанса, определенного в ASP.NET? это возможно? У меня есть два или более сеансов в моем веб-приложении, мне нужно установить:

Session["foo"] //expire in 14minutes
Session["baa"] //expire in 30minutes

Я хочу разрешить это дело, если возможно, не используя куки.

Заранее спасибо!

Ответы [ 5 ]

2 голосов
/ 20 августа 2011

Вы можете настроить время ожидания для сеанса в файле Web.config:

<configuration>
    <sessionstate mode="inproc"
                  cookieless="true"
                  timeout="14" />
</configuration>

Это режим по умолчанию (InProc) для ASP.NET.Как сказал в своем комментарии rockinthesixtring, вы не можете настроить время ожидания для отдельных объектов в сеансе, только для сеанса в целом.

Обзор состояния сеанса ASP.NET

0 голосов
/ 17 июля 2019

First

Перейдите в файл web.config и добавьте следующий скрипт.

<configuration>
  <system.web>
    <sessionState mode="InProc" cookieless="true"timeout="60"/>
    </sessionState>
  </system.web>
</configuration>

Второй

Перейдите в файл global.asax и введите следующий код:

void Session_Start(object sender, EventArgs e) 
{
 Session.Timeout = 60; 
}

Третий

Поместите этот код в раздел Header страницы .aspx ... где (content) равен секунде

<meta http-equiv="refresh" content="10; URL=../frmLogin.aspx">
0 голосов
/ 17 июля 2019

для конкретного сеанса, допустим, вы хотите сделать тайм-аут для этого сеанса. Сеанс ["foo"] = 14 минут, вы можете сделать так

DateTime timenow=DateTime.now;
DateTime timeafter14min=timenow.AddMinuits(14);

if(DateTime.Now>timeafter14min)
{
 HttpContext.Current.Session["foo"]=null;
}

сеанс не истек, но очищен

0 голосов
/ 24 августа 2016

Поскольку другие вопросы закрываются как дубликаты этого вопроса, я хотел бы добавить эту опцию сюда для людей, которые могут найти ее полезной.

Вы можете установить время ожидания сеанса вручную, используя следующую команду:

Session.Timeout = 60

Подробнее можно прочитать здесь:

https://msdn.microsoft.com/en-us/library/ms525473(v=vs.90).aspx

0 голосов
/ 23 августа 2016
    <sessionState 
       mode="InProc" 
       stateNetworkTimeout="10" //seconds
       cookieless="UseCookies"
       cookieName="ASP.NET_SessionId" //Specifies the name of the cookie that stores the session identifier.
       timeout="20" //seconds
       regenerateExpiredSessionId="true" 
       useHostingIdentity="true">
      </sessionState>

or

session["user"]=textbox_username.txt

<configuration>
  <system.web>
    <sessionState cookieless="true"
      regenerateExpiredSessionId="true" />
  </system.web>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...