Гуру ASP.NET - небольшая проблема при настройке имени домена приложения для обмена сеансом SQL в сценарии масштабирования

Мы сократили некоторые части нашего приложения ASP.NET для запуска на одном сервере и других частей для запуска на другом сервере (& под поддоменом).

Два сеанса совместного доступа к серверу (SQL Server). Мы использовали эту статью MS для создания крошечного HTTP-модуля для синхронизации доменного имени приложения между двумя серверами (без кода домена cookie, который можно настроить в web.config. Я позже нашел эту статью CodeProject, которая по сути то же самое.)

Все работает хорошо, за исключением небольшой проблемы: изменения развертывания или тэки web.config требуют перезагрузки пула приложений вручную (автоматическая переработка больше не работает), вместо этого мы получаем "веб-сервер" в настоящее время недоступно/ударить обновление ").

Я попытался переместить код именования домена приложения из модуля HTTP в раздел Application_Start для Global.asax(может быть, это лучше для него?), но получил ту же проблему.

Я знаю, что одним из решений является жесткое кодирование имени приложения в одной из хранимых процедур сеанса SQL Server; но я немного не решаюсь это сделать.

Изменить: приложение ASP.NET 3.5 под IIS 6.0 (спасибо @Chris и @bzlm)

Ответ 1

Update. Об этом мы обратились к Microsoft. По прошествии недели или около того, они заявили, что они воспроизвели проблему в своей среде и поняли причину (проблема с синхронизацией внутри внутренних компонентов ASP.NET), но нет разрешения, о котором они знают. Я жаловался, что HTTP-модуль - это код Microsoft, но они сказали, что этот код под термином "FAST PUBLISH" - предназначен для помощи и консультирования клиентов; но не гарантируется.

Хорошо. Теперь мы просто вручную перерабатываем пул приложений после изменения web.config.

Ответ 2

Вы должны проверить, включены ли правильные события рециркуляции в IIS, возможно, это поможет http://support.microsoft.com/kb/332088