Повторное использование AppDomain - очень распространенная проблема, если sessionState
равен InProc
. Настоятельно рекомендуется использовать вместо StateServer
или SQLServer
для производственных систем. См. Режимы состояния сеанса для документации о том, как использовать каждый из них, а также плюсы и минусы трех различных типов.
Лично мы используем SQL Server, если нам нужно для ферм веб-серверов - медленнее, но могут использоваться совместно. Мы используем State Server, если сайт будет размещаться только на одном веб-сервере - состояние сохраняется, перезапускается AppDomain, но не весь сервер перезапускается.
Кроме того, в прошлом мы использовали пост AJAX в фоновом режиме, когда пользователь просматривал долго работающие видео или выполнял длинные клиентские задачи, поэтому время ожидания сеанса сбрасывается каждые несколько минут. Ничего особенного в этом коде нет, просто каждые несколько минут нажимайте немного JavaScript на странице ASPX, которая ничего не возвращает.