2013-04-10 14 views
1

Я хочу создать в качестве опции для пользователя, что в моем решении asp.net, если пользователь проверяет сеанс, не должен истекать автоматически.Сессия не должна истекать, если пользователь выбирает опцию

Может ли кто-нибудь помочь мне в этом?

+0

Вы можете выполнить фоновую Ajax вызова. каждые N минут, если пользователь проверил параметр «сеанс не должен истекать», установив простое значение сеанса или что-то в этом роде. Вы также можете рассмотреть возможность хранения сеансов в db, а не InProc для большей обработки, если браузер закрывается и т. Д. – scheien

+0

после проверки давайте ** Session.Timeout = "SomeBigNumber" ** ... –

+0

@GopeshSharma Обновление таймаута сеанса приведет к время ожидания тайм-аута для всех, что не является обязательным, я думаю, – Devesh

ответ

1

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

Вы можете вручную установить Session.Timeout = 20; или Session.Timeout = 180; в зависимости от типа пользователя, когда они войти

Этот код должен работать для вас:.

protected void SetSessionTime(string userType) 
{ 
    if (UserType == "admin") 
    { 
     Session.Timeout = Int32.Max; 
    } 
    else 
    { 
     Session.Timeout = 20; 
    } 
} 

Вы можете позвонить SetSessionTime() после того, как пользователь успешно входит в

1

Вы можете попробовать выполнить фоновый вызов ajax (каждые x минут), чтобы сохранить сеанс для пользователей, которые решили это сделать.

Смежные вопросы