ASP.NET gurus - небольшая проблема при настройке доменного имени приложения для совместного использования сеанса SQL в сценарии горизонтального масштабирования - PullRequest
11 голосов
/ 03 октября 2011

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

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

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

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

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

Редактировать: приложение на ASP.NET 3.5 под IIS 6.0 (спасибо @Chris & @bzlm)

Ответы [ 2 ]

0 голосов
/ 28 июля 2012

Обновление.Мы открыли дело технической поддержки с Microsoft по этому поводу.Приблизительно после недели перемотки они сказали, что воспроизвели проблему в своей среде и понимают причину (проблема синхронизации глубоко внутри внутренних компонентов ASP.NET), но о решении, о котором они знают, не существует.Я пожаловался, что модуль HTTP - это код Microsoft, но они сказали, что этот код соответствует условиям «БЫСТРАЯ ПУБЛИКАЦИЯ» - предназначен для помощи и консультирования клиентов;еще не гарантировано.

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

0 голосов
/ 29 октября 2011

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

...