Pergunta

Estou executando este Azure CloudService.

Para garantir que eu possa aproveitar o ServiceBus de uma maneira segura, implementei o conselho desta postagem do blog: http://blogs.msdn.com/b/clemensv/archive/2012/07/30/transactions-in-windows-azure-with-service-bus-an-email-discussion.aspx

Em vez de pesquisar uma tabela de banco de dados constantemente, envio uma mensagem para uma fila para acionar um processo em segundo plano para procurar no banco de dados e enviar a mensagem.

Mas é claro que isso por si só não seria seguro, então eu também tenho que verificar periodicamente o banco de dados em um cronograma para ter certeza de que não perdi nada.

Mas como estou executando várias instâncias, gostaria de espalhar esse cronograma, para torná -lo mais eficiente, pensei em fazer isso, obtendo o último número inteiro do nome da instância. Eu sei como obter esse número usando microsoft.windowszure.serviceruntime.roleenvironment.currentroleinstance.id

Mas não sei como obter o número total de instâncias, preciso disso, para espalhar o cronograma igualmente.

Alguém sabe como conseguir isso, sem ter que usar as APIs de gerenciamento do Azure?

Foi útil?

Solução

Tentar Role.Instances propriedade. Aqui está o código desta página apenas para encontrar todas as instâncias:

foreach (RoleInstance roleInst in RoleEnvironment.CurrentRoleInstance.Role.Instances)    
{
   Trace.WriteLine("Instance ID: " + roleInst.Id);    
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top