Гуру 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