2016-04-14 2 views
0

У меня возникают проблемы при попытке опубликовать проект облачной службы, который имеет две копии одного и того же рабочего проекта роли. В основном мой рабочий проект роли - это процессор заданий, смотрящий очередь служебной шины. Я намерен дифференцировать экземпляры, имея разные имена очередей в конфигурации каждой рабочей роли. Я сталкиваюсь с проблемами при попытке развернуть это на Azure. Это прекрасно работает в локальном эмуляторе. Ошибка при развертывании получил в лазури:Несколько копий одного и того же проекта роли сотрудника в одном облачном сервисе

The file provided is not a valid service package. Detailed error code: <role name 2> Invalid application runtime - a runtime component is missing:/base/x64/WaIISHost.exe,<role name 3> Invalid application runtime - a runtime component is missing:/base/x64/WaIISHost.exe. The long running operation tracking ID was: 89d809995b20a74a924ae69f8d8a5106. 

Это также очень странно, что это работает с Azure SDK 2.4, но не с 2.7+. А также он работает всегда в одной подписке, но не в нескольких других. На самом деле это озадачило.

ответ

1

Visual Studio действительно не позволит вам повторно добавить второй экземпляр рабочей роли в ту же облачную службу.

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

BTW, еще один вариант, который вы, возможно, захотите рассмотреть, - это сохранить одного работника, но определить 2 развертывания (облачные службы) для его размещения. Преимущество такого подхода заключается в том, что вы будете иметь большую гибкость, когда вам нужно изменить конфигурацию или масштабировать только одну из ваших услуг.

+0

Несмотря на то, что Visual Studio не позволяет добавлять, но я могу настроить его вручную, обновив файлы ccproj и определения облаков и конфигурации. –

Смежные вопросы