ASP.NET 2.0 в виртуальной среде пытается использовать SQL State Server - PullRequest
0 голосов
/ 15 января 2010

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.

Есть идеи? Спасибо

Ответы [ 2 ]

0 голосов
/ 25 января 2010

Хотя мне не удалось определить, почему проект 2.0 пытался использовать состояние SQL, я смог исправить поведение, добавив sessionState mode = "Off" /> в разделе system.web в файле web.config файла 2.0 проект. Все еще не понимаю, почему другим серверам не нужна была запись, но это было неприемлемым решением проблемы.

0 голосов
/ 16 января 2010

Не уверен, почему это так, но в вашем web.config 2.0, почему бы вам просто не установить SessionState обратно в "InProc"?

...