IIS 6 работает на сервере W2003. Корневой веб-сайт работает на сайте версии 1.1. Под этим сайтом у нас есть виртуальный сайт с версией 2.0 (с отдельным пулом приложений). Файл web.config для корневого сайта использует SQL в качестве сервера состояний и на нем установлена база данных сервера состояний SQL 1.1. Виртуальному web.config 2.0 не требуется состояние, а его web.config не имеет ссылки на сервер состояний. Когда мы пытаемся вызвать виртуальный, мы получаем это сообщение об ошибке.
«Невозможно использовать SQL Server, так как состояние сеанса ASP.NET версии 2.0 не установлено на сервере SQL. Установите состояние сеанса ASP.NET SQL Server версии 2.0 или выше.
Эта проблема в настоящее время возникает только на одном веб-сервере. Остальные могут запустить виртуальное приложение 2.0. Я также заметил, что если мы вызываем виртуальный 2.0 с IP-адресом, он не генерирует ошибку, однако, если мы вызываем его с именем заголовка узла, он генерирует ошибку (это происходит только на 1 веб-сервере с ошибкой, все остальные могут быть вызваны с заголовком ip или host без ошибок). Как дополнительное примечание, root и virtual работают с SSL.
Моя теория состоит в том, что виртуальное приложение 2.0 наследует запись сервера состояний web.config 1.1 от корня, и когда оно смотрит на сервер состояний, оно видит его как версию 1.1 и сообщает об ошибке, что ему нужен сервер состояний 2.0. , Однако я не могу понять, почему другие серверы не ведут себя в этом вопросе. Все серверы находятся в одном и том же пакете обновления ОС, а также в одной и той же версии .net framework.
Есть идеи? Спасибо