Проект Windows Azure без веб-ролей? - PullRequest
3 голосов
/ 03 августа 2011

только начинает изучать Azure, и я все еще немного сбит с толку относительно целей веб-ролей по сравнению с рабочими ролями. В решении, над которым я работаю над мобильными приложениями (iPhone, Android, Windows и т. Д.), Будет доступ к нашему серверному продукту через API REST. Так что для нашего сервиса действительно нет общедоступного веб-сайта (как на веб-страницах).

Это заставило меня думать, что мне не нужна веб-роль, а вместо этого есть одна или рабочие роли, которые прослушивают наши конечные точки http. Я создал прототип по этим направлениям. Когда с мобильного устройства я отправляю сообщение http в конечную точку, я не получаю ответ. И в журналах Azure я не вижу ничего, что указывало бы на то, что моя рабочая роль действительно запущена или выполняется и отвечает на нее.

Это подходящий подход? Есть ли что-то, что мне нужно сделать в установочном коде, потому что у меня нет веб-роли? Я читал в другой ветке, что веб-роли выполняются в IIS, а рабочие роли - нет.

Спасибо за терпение со мной. Я все еще не могу разобраться с Azure, и поэтому мне сложно сформулировать правильный вопрос.

Ответы [ 2 ]

3 голосов
/ 03 августа 2011

Вам не нужно иметь веб-роль в развертывании Azure.Как вы читаете, веб-роль имеет IIS, и ваш веб-сайт размещен в ней.Рабочая роль - это обычный старый сервер W2K8 без IIS.Честно говоря, у меня нет RDP для экземпляра рабочей роли, поэтому я не уверен на 100%, что у вас нет IIS или нет.

Но вам не нужна веб-рольвыставить сервис WCF.Вот хороший пример (хотя цвет фона требует некоторой работы), который показывает вам, как это сделать.

Удачи!Надеюсь, это поможет.

2 голосов
/ 04 августа 2011

В дополнение к сказанному Дэвидом Хёрстером: вы можете разместить до 25 внешних конечных точек (каждая со своим собственным номером порта) для любого типа роли, причем каждая конечная точка - http, https или tcp.С веб-ролью и IIS веб-приложение обычно захватывает конечную точку, сопоставленную с портом 80. В вашем случае вы будете создавать свои собственные конечные точки на своих конкретных портах.Вы несете ответственность за создание своего ServiceHost (или того, что вы используете для размещения своего сервиса) и привязку его к одной из ваших конечных точек.Чтобы сделать это, вам нужно либо явно сопоставить каждую конечную точку с определенным внутренним портом, либо проверить свойства конечной точки, чтобы определить, какой порт был динамически назначен для нее, чтобы вы связались с ней (возможно, это проблема, которую вывы сталкиваетесь с вашим прототипом кода?).

Если вы ищете преимущества, которые IIS предлагает для хостинга вашей конечной точки, вам лучше использовать веб-роль, поскольку это будет намного проще дляВы делаете это, так как веб-роль по умолчанию включает IIS (и легко добавить службы WCF в веб-роль из Visual Studio).

Даже если вы самостоятельно размещаете свои конечные точки, вы все равно можете использоватьвеб-роль, но теперь вы будете нести дополнительный багаж памяти работающей, но неиспользованной службы IIS.

...