2013-11-07 1 views
2

Я запускаю этот Azure Cloudservice.Самый простой способ получить счетчик экземпляров текущего Azure Cloudservice

Чтобы убедиться, что я могу использовать в ServiceBus безопасным способом, я реализовал совет этого блога: http://blogs.msdn.com/b/clemensv/archive/2012/07/30/transactions-in-windows-azure-with-service-bus-an-email-discussion.aspx

Вместо опроса таблицы базы данных постоянно, я отправить сообщение в очередь на спусковой крючок фоновый процесс для поиска в базе данных и отправки сообщения.

Но, конечно же, это не было бы безопасно, поэтому я также должен периодически проверять базу данных по расписанию, чтобы убедиться, что я ничего не пропустил.

Но поскольку я запускаю несколько экземпляров, я хотел бы распространять это расписание, чтобы сделать его более эффективным, я думал, что смогу сделать это, получив последнее целое число от имени экземпляра. Я знаю, как получить этот номер с помощью Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.CurrentRoleInstance.Id

Но я не знаю, как получить общее количество экземпляров, мне это нужно, чтобы равномерно распределить расписание.

Кто-нибудь знает, как это получить, без использования API управления Azure?

ответ

3

Просьба Role.Instances Недвижимость. Вот код с этой страницы только, чтобы найти все экземпляры:

foreach (RoleInstance roleInst in RoleEnvironment.CurrentRoleInstance.Role.Instances)  
{ 
    Trace.WriteLine("Instance ID: " + roleInst.Id);  
} 
+0

OMG, как очевидно, спасибо кучи .. Это замечательно, что есть даже событие для того, когда изменения конфигурации .. красиво .. – user1551446

+1

это сработает только если у вас есть хотя бы одна внутренняя конечная точка. – sharptooth

+0

У меня есть несколько, но это хорошо знать. Благодарю. – user1551446

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

  • Нет связанных вопросов^_^