ASP.NET Тайм-аут Проблемы - PullRequest
       7

ASP.NET Тайм-аут Проблемы

3 голосов
/ 01 февраля 2012

Я работаю в устаревшей системе со следующими значениями тайм-аута в web.config.

<sessionState timeout="120" />
...
<forms name="login" timeout="240" />

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

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    If Not IsPostBack Then
        Session("DocNum") = ""
    Else
        If Session("DocNum") Is Nothing Then
            Response.Redirect("~/index.aspx?e=SessionExpired")
        End If
    End If

End Sub

Похоже, что переменная сеанса очищается заданно менее чем за 120 минут, даже если в системе много пользователей.Кажется, это происходит регулярно.

Я читал, что пул приложений может быть причиной, но как это так?Какие другие конфигурации и значения времени ожидания могут быть причиной этой проблемы?

Спасибо за помощь.

1 Ответ

3 голосов
/ 01 февраля 2012

Если для вашего состояния сеанса установлено значение InProc, в качестве параметров перезапуска для пула приложений может использоваться сброс пула приложений, который очищает сеанс.«InProc» означает, что сеанс хранится в памяти, и в результате любой сброс пула приложений потеряет то, что хранится в сеансе.Вы можете проверить системный журнал событий веб-сервера, чтобы узнать, есть ли какие-либо события для перезапуска пула приложений из-за регулярного графика перезапуска или ошибки.

...