как не прекращать сеанс автоматически в web.config? - PullRequest
1 голос
/ 08 апреля 2011
<authentication mode="Forms">

      <forms name="SignIn" loginUrl="~/login.aspx" timeout="9999999" slidingExpiration="true" defaultUrl="~/Default.aspx"/>

    </authentication>

Это автоматически выйдет из моей авторизованной страницы через 1 или две минуты ....

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

как это сделать в web.config?

Ответы [ 2 ]

0 голосов
/ 08 апреля 2011

Я думаю, вы должны использовать куки.Я предпочитаю использовать этот метод:

После того, как пользователь нажмет кнопку входа в систему:

FormsAuthentication.SetAuthCookie(userName, True)

Когда постоянный cookie установлен на True, cookie создается, поэтому пользователь останется в системе, даже если он закроет свойсеанс.

Мой web.config выглядит так:

<forms loginUrl="~/Account/Login.aspx" timeout="2880"  />

и все работает нормально.В приведенном выше примере пользователь будет оставаться в системе в течение 2880 минут.

Просмотрите следующие ссылки:

http://msdn.microsoft.com/en-us/library/ff647070.aspx

http://msdn.microsoft.com/en-us/library/1d3t3c61.aspx

0 голосов
/ 08 апреля 2011

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

<img id="keepAliveIMG" width="1" height="1" src="/img/ui/spacer.gif?" alt="" /> 

<script language="javascript" type="text/javascript"> 
    var myImg = document.getElementById("keepAliveIMG");

    if (myImg){
        window.setInterval(function(){
              myImg.src = myImg.src.replace(/\?.*$/, '?' + Math.random());
            }, 6000);
    }   
</script> 
...