Время ожидания сеанса неожиданно - PullRequest
0 голосов
/ 16 декабря 2011

Я столкнулся с очень странной проблемой.На самом деле я разработал веб-приложение в ASP.NET с использованием C #.Мое приложение состоит из двух частей: одна для администратора и вторая для пользователя.Когда я запускаю свое приложение на локальном сервере, оно работает нормально, но когда я размещаю его на удаленном сервере, я сталкиваюсь со странной проблемой.Проблема в том, что когда я перемещаюсь по своему приложению или нажимаю любую кнопку или ссылку, иногда он перенаправляет на страницу входа.Я не понимаю, в чем проблема.Я проверяю сессию на каждой странице следующим образом:

    if (Session["admin"] != null)
    {
        // do some thing.
    }
    else
    {
        Response.Redirect("AdminLogin.aspx");
    }

И я устанавливаю время сеанса в файле web.config <sessionState mode="InProc" timeout="10000"></sessionState>, но все же я сталкиваюсь с этой проблемой.Так может кто-нибудь помочь мне, пожалуйста?Спасибо.

1 Ответ

2 голосов
/ 16 декабря 2011

Если вы используете сеансы InProc, возможно, ваш пул приложений истекает из-за неактивности (IIRC, по умолчанию 20 минут).Когда это происходит, процесс IIS завершается, и ваше состояние сеанса будет потеряно, поскольку он находится в памяти.

Решение состоит в том, чтобы либо переключиться в состояние сеанса на основе SQL Server, либо, возможно, State Server, либо отключитьТайм-аут простоя AppPool (и переработка, которая может вызвать ту же проблему).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...