У нас странная проблема, возникающая время от времени на наших серверах. Обычно это происходит при обновлении одного или нескольких наших веб-приложений. Отладка проблемы зашла так далеко ...
Во время обработки запроса:
- В приложении ASP.NET мы помещаем объект в сессию
- В коде, запущенном позже (тот же запрос), мы ищем то же значение сеанса. Пусто!
Так что, похоже, служба сеанса не работает, верно? Этот код выполняется сотни раз в день и никогда не дает сбоев в средах разработки или в производственной ситуации, связан только с обновлением веб-приложений на веб-сервере.
И странная вещь: мы действительно не нашли подходящего способа исправить ситуацию. Сброс IIS, остановка / запуск сервера состояний ASP.NET, правки web.config и даже перезагрузки сервера используют все бины - обычно для их исправления требуется комбинация + плюс много ругательств и выслушиваний. И в большинстве случаев это не исправлено сразу, но, может быть, через две или три минуты после третьего сброса IIS или чего-то еще. (Так что, возможно, это и не то, что исправили.)
Я схожу с ума здесь. Есть идеи, в чем может быть проблема? Это ошибка Microsoft?
Дополнительная информация:
- Мы работаем под .NET 2.0
- Мы используем службу состояния ASP.NET
- Код, обращающийся к переменной сеанса и возвращающий ноль, находится в сборке, на которую ссылается приложение ASP.NET. Он использует HttpContect.Current для получения в сеансе