Как я могу сделать так, чтобы пинг на моем сервисе не обновлял время сеанса?

Я работаю над веб-приложением asp.net с таймером сеанса 7 минут. Через 7 минут сеанс истекает. Я пингую сервер от клиента каждые 5 минут, и поэтому сеанс никогда не истечет. Пинг в службе запускает некоторый код на стороне сервера.

Как я могу отключить, чтобы эти пинги обновляли таймер сеанса?


person Marc Trittibach    schedule 23.10.2014    source источник


Ответы (1)


Добавьте переменную сеанса для отслеживания начала сеанса. Если время сеанса превышает 7 минут, вызовите Session.Abandon(), это удалит сеанс.

Public Sub ClearSession()
    If Me.Session("Started") IsNot Nothing AndAlso (DateDiff(DateInterval.Minute, CDate(Me.Session("Started")), Now())) >= 7 Then
        Me.Session.Abandon()
    End If
End Sub
person JayHach    schedule 28.10.2014
comment
Насколько я вижу, это убьет каждую сессию через 7 минут. Если пользователь действительно работает с приложением (отправляет запросы и т. д.), сеанс должен вести себя нормально. Речь идет как раз о пинге, который должен игнорироваться сеансом. - person Marc Trittibach; 30.10.2014