現在のAzure CloudServiceのインスタンスカウントを取得する最も簡単な方法

StackOverflow https://stackoverflow.com/questions/19839064

質問

私はこの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を使用してこの番号を取得する方法を知っています

しかし、スケジュールを平等に広めるためには、インスタンスの総数を取得する方法がわかりません。

Azureの管理APIを使用することなく、これを取得する方法を知っている人はいますか?

役に立ちましたか?

解決

試す Role.Instances 財産。このページのコードは、すべてのインスタンスを見つけるためだけです。

foreach (RoleInstance roleInst in RoleEnvironment.CurrentRoleInstance.Role.Instances)    
{
   Trace.WriteLine("Instance ID: " + roleInst.Id);    
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top