Назад | Перейти на главную страницу

ASP.NET 2.0 в виртуальной попытке использовать SQL State Server

У нас есть IIS 6, работающий на сервере W2003. На корневом веб-сайте работает сайт версии 1.1. Под этим сайтом у нас есть виртуальный сайт v2.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, либо с заголовком хоста без ошибок). В качестве дополнительного примечания корень и виртуальный сервер работают с SSL.

Моя теория заключается в том, что виртуальное приложение 2.0 наследует запись сервера состояний 1.1 web.config от корня, и когда оно смотрит на сервер состояний, оно видит его как версию 1.1 и сообщает об ошибке, что ему нужен сервер состояний 2.0. Однако я не могу понять, почему другие серверы не ведут себя в этом вопросе. Все серверы используют один и тот же пакет обновления ОС, а также одну и ту же версию .NET Framework.

Любые идеи? Спасибо

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

Проверьте machine.config и web.config в [Windows] \ Microsoft.NET \ Framework \ v2.0.50727