試す Role.Instances
財産。このページのコードは、すべてのインスタンスを見つけるためだけです。
foreach (RoleInstance roleInst in RoleEnvironment.CurrentRoleInstance.Role.Instances)
{
Trace.WriteLine("Instance ID: " + roleInst.Id);
}
質問
私はこの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);
}