Короче говоря, есть ли событие RoleEnvironment, которое я могу обработать в коде, когда любая другая роль в моем развертывании перезагружается или отключается для исправления?
У меня есть производственное приложение, которое имеет как веб-роли для веб-интерфейса, так и веб-роли, выполняющие службы WCF в качестве уровня приложения (бизнес-логика, доступ к данным и т. Д.). Веб-уровень связывается с уровнем WCF через внутреннюю конечную точку, поскольку мы не хотим показывать сервисы в данный момент времени. Таким образом, это означает, что невозможно использовать балансировщик нагрузки для вызова моего уровня обслуживания через один URL.
Так что мне приходится загружать запросы баланса в веб-роли WCF вручную. В прошлом это вызывало проблемы, когда контроллер ткани исправлял машину для переработки.
Я обрабатываю события RoleEnvironment.Changing и RoleEnvironment.Changed для настройки списка веб-ролей бэкэнда, с которыми я общаюсь, что хорошо работает при тестировании, когда я изменяю конфигурацию, чтобы увеличить или уменьшить количество экземпляров в моем развертывание. Но если я перезагружу роль через портал, это не вызовет события RoleEnvironment.
Спасибо,
Rob