【问题标题】:Easiest way of getting the instance count of current Azure Cloudservice获取当前 Azure Cloudservice 实例数的最简单方法
【发布时间】:2013-11-07 14:55:52
【问题描述】:

我正在运行这个 Azure 云服务。

为了确保我可以安全地利用 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 的情况下获得这个?

【问题讨论】:

    标签: azure azure-worker-roles servicebus


    【解决方案1】:

    试试Role.Instances 属性。这是此页面中的代码,仅用于查找所有实例:

    foreach (RoleInstance roleInst in RoleEnvironment.CurrentRoleInstance.Role.Instances)    
    {
       Trace.WriteLine("Instance ID: " + roleInst.Id);    
    }
    

    【讨论】:

    • 天哪,多么明显,谢谢一堆.. 这太棒了,它甚至还有配置更改时的事件.. 很好..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 2011-09-13
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    相关资源
    最近更新 更多