Как веб-роль Azure работает без точки входа? - PullRequest
2 голосов
/ 07 февраля 2012

Из любопытства я открыл свой проект веб-роли Azure, перешел к файлу, который содержал класс-потомок RoleEntryPoint, и полностью удалил определение этого класса . Затем я упаковал роль и развернул ее в Azure - роль запускалась без указания ошибки.

Как это могло сработать?

Ответы [ 2 ]

4 голосов
/ 07 февраля 2012

В дополнение к тому, что сказал DarwkwingDuck, я просто упомяну, что RoleEntryPoint предоставляет методы для запуска кода, когда экземпляр роли инициализируется, запускается и останавливается.

Если мы продолжим читать документацию класса RoleEntryPoint на MSDN , мы также увидим следующее:

Рабочие роли должны расширить класс RoleEntryPoint, чтобы добавить функциональностьв роли экземпляров.Веб-роли могут дополнительно расширять класс RoleEntryPoint или могут использовать методы управления жизненным циклом ASP.NET для обработки последовательностей запуска и остановки.Для роли виртуальной машины вместо класса RoleEntryPoint используются службы Windows.

Таким образом, Веб-роли могут дополнительно расширять класс RoleEntryPoint .

3 голосов
/ 07 февраля 2012

RoleEntryPoint существует в вашем развертывании независимо от того, наследуете ли вы его или нет.Обратите внимание, что все методы, которые есть в этом классе, переопределяют реализации базового класса.Эти реализации базового класса будут выполняться вместо этого, если вы не унаследуете RoleEntryPoint.

Это также упрощает перенос устаревших приложений в Azure - просто добавьте существующее веб-приложение в облачный проект в качестве роли и все готово..

...