Вот мой текущий вопрос:
Я предполагаю, что моя проблема (описанная ниже) вызвана тем, что рабочие процессы ASP.NET перезагружаются, в соответствии с приведенными ниже ответами - я использую хранилище сессий InProc и не вижу большого шанса отойти, потому что с ограничением для других типов хранилищ, чтобы все объекты сеанса были сериализуемыми. Однако я не могу понять, что заставило бы рабочий процесс перерабатываться так часто, как я это вижу - насколько я знаю, не было никаких изменений файлов в каталоге приложения, и кажется, что параметры в IIS подразумевается, что процесс будет повторяться только каждые 1740 минут, что гораздо реже, чем фактическая потеря сеанса. Итак, мой вопрос сейчас, какие разные случаи могут вызвать перезапуск рабочего процесса ASP.NET?
Вот мой оригинальный вопрос:
У меня проблема с воспроизведением, которая возникает в моем веб-приложении ASP.NET. Приложение имеет одну главную страницу .aspx, которая загружается и инициализирует несколько переменных сеанса. Эта страница использует класс ASP.NET Ajax Sys.Net.WebRequest
для многократного доступа к другой странице .aspx, которая использует переменные сеанса для выполнения запросов к базе данных и обновления главной страницы (главная страница никогда не запрашивается повторно).
Иногда, после некоторого времени использования страницы, вызывающего успешные HTTP-запросы, когда сеанс, созданный на главной странице, правильно переносится на подстраницу, один из запросов, кажется, вызывает создание нового сеанса ASP.NET - все переменные сеанса теряются (вызывая исключение в моем коде), и новый идентификатор сеанса сообщается на динамически запрашиваемой странице. Это означает, что внезапно главная страница отключается от сервера - что касается сервера, пользователь больше не входит в систему.
Я почти уверен, что это не тайм-аут сеанса - тайм-аут настроен на что-то смешное, время, необходимое для того, чтобы это произошло, является переменным, но никогда не бывает достаточно длинным, чтобы вызвать тайм-аут сеанса, и константа Sys.Net.WebRequests
должна обновить таймер сеанса.
Итак, что еще может произойти, что приведет к тому, что HTTP-запросы потеряют связь с сеансом ASP.NET? К сожалению, я не отслеживал сетевой трафик, когда это происходило со мной, или я бы проверил, не застрял ли файл cookie сеанса ASP.NET.