Frage

Ich leite diesen Azure Cloudservice.

Um sicherzustellen, dass ich den ServiceBus auf sichere Weise nutzen kann, habe ich den Rat dieses Blog -Beitrags implementiert: http://blogs.msdn.com/b/clemensv/archive/2012/07/30/transactions-in-windows-azure-with---Bus-an-email-discussion.aspx

Anstatt eine Datenbanktabelle ständig zu befragen, sende ich eine Nachricht an eine Warteschlange, um einen Hintergrundprozess auszulösen, der in der Datenbank nachgeschaut und die Nachricht gesendet wird.

Aber natürlich wäre das allein nicht sicher, daher muss ich auch regelmäßig die Datenbank nach einem Zeitplan überprüfen, um sicherzustellen, dass ich nichts verpasst habe.

Aber da ich mehrere Instanzen ausführe, möchte ich diesen Zeitplan verbreiten, um ihn effizienter zu machen, dachte ich, ich könnte das tun, indem ich die letzte ganze Zahl aus dem Instanznamen bekomme. Ich weiß, wie man diese Nummer mit Microsoft.Windowsazure.serviceruntime.roleenvironment.Currentroleinstance.id bekommt.

Aber ich weiß nicht, wie ich die Gesamtzahl der Instanzen bekomme, ich brauche das, um den Zeitplan gleich zu verbreiten.

Weiß jemand, wie man das bekommt, ohne die Management -APIs von Azure verwenden zu müssen?

War es hilfreich?

Lösung

Versuchen Role.Instances Eigentum. Hier ist der Code von dieser Seite nur, um alle Instanzen zu finden:

foreach (RoleInstance roleInst in RoleEnvironment.CurrentRoleInstance.Role.Instances)    
{
   Trace.WriteLine("Instance ID: " + roleInst.Id);    
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top