Pregunta

Estoy ejecutando este Azure CloudService.

Para asegurarme de poder aprovechar el ServiceBus de una manera segura, he implementado el consejo de esta publicación de blog: http://blogs.msdn.com/b/clemensv/archive/2012/07/30/transactions-in-windows-azure-with-service-bus-an-email-discussion.aspx

En lugar de sondear una tabla de base de datos constantemente, envío un mensaje a una cola para activar un proceso de fondo para mirar en la base de datos y enviar el mensaje.

Pero, por supuesto, esto solo, no sería seguro, por lo que también tengo que verificar periódicamente la base de datos en un horario para asegurarme de que no me perdí nada.

Pero como estoy ejecutando múltiples instancias, me gustaría difundir este horario, para que sea más eficiente, pensé que podría hacer esto, obteniendo el último entero del nombre de la instancia. Sé cómo obtener este número usando Microsoft.windowsazure.serviceruntime.roleenvironment.currentroleinstance.id

Pero no sé cómo obtener el número total de instancias, lo necesito para difundir el horario por igual.

¿Alguien sabe cómo obtener esto, sin tener que usar las API de gestión de Azure?

¿Fue útil?

Solución

Probar Role.Instances propiedad. Aquí hay código de esta página solo para encontrar todas las instancias:

foreach (RoleInstance roleInst in RoleEnvironment.CurrentRoleInstance.Role.Instances)    
{
   Trace.WriteLine("Instance ID: " + roleInst.Id);    
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top