Я думаю, что вашим ответом по умолчанию должно быть использование Full IIS в возможностях Windows Azure. Предложение размещенного веб-ядра действительно для обратной совместимости, поскольку оно было оригинальной моделью до 1.3 SDK. Полный IIS используется по умолчанию, и вы должны явно вернуться к HWC.
Причин, по которым большинство людей хотели получить полный IIS, было несколько, но есть важные ограничения:
- Лучшая поддержка расширений IIS (например, Smooth Streaming, Web Farm, ARR и т. Д.). HWC не всегда поддерживал модули и в сочетании с отсутствующим разрешением администратора делал очень трудным, если не невозможным, использование всех модулей, которые люди хотели использовать.
- Поддержка нескольких веб-сайтов, виртуальных дисков и пулов приложений. HWC представляет собой единый пул приложений (процесс хостинга) и не имеет возможности поддерживать несколько веб-сайтов. Было серьезное беспокойство по поводу необходимости посвятить одну целую роль одному веб-сайту. С помощью Full IIS вы можете иметь несколько сайтов и использовать заголовки хостов, чтобы получить максимальную отдачу от использования веб-роли (особенно на небольших веб-сайтах)
- Поддержка стандартных инструментов - Web Deploy, AppCmd и т. Д. Не очень хорошо работают (если вообще) с HWC. Все, что модифицировало applicationHost.config, обычно имело проблемы с HWC.
- БЫЛА поддержка. Это позволяет использовать WCF с IIS в качестве хоста в транспортах, отличных от HTTP.
В целом, с Full IIS вы получаете паритет с тем, что вы делаете локально, так что это значительно упрощает настройку и настройку.
Что касается модели процесса RoleEntryPoint / HWC в сравнении с RoleEntryPoint и отдельным процессом Full IIS, я не уверен, что это действительно проблема. Возможно, вначале было несколько причуд, но что вас больше всего беспокоит в этом?