获取当前Azure Cloudservice实例数的最简单方法

获取当前Azure Cloudservice实例数的最简单方法,azure,azure-worker-roles,servicebus,Azure,Azure Worker Roles,Servicebus,我正在运行这个Azure Cloudservice 为了确保我能够以安全的方式利用Servicebus, 我已经落实了这篇博文的建议: 我没有经常轮询数据库表,而是向队列发送消息,以触发后台进程查看数据库并发送消息 但当然,单凭这一点是不安全的,因此我还必须定期检查数据库,以确保没有遗漏任何内容 但是因为我运行多个实例,我想扩展这个计划,使它更有效,我想我可以这样做,从实例名中获取最后一个整数。我知道如何使用Microsoft.WindowsAzure.ServiceRuntime.RoleEn

我正在运行这个Azure Cloudservice

为了确保我能够以安全的方式利用Servicebus, 我已经落实了这篇博文的建议:

我没有经常轮询数据库表,而是向队列发送消息,以触发后台进程查看数据库并发送消息

但当然,单凭这一点是不安全的,因此我还必须定期检查数据库,以确保没有遗漏任何内容

但是因为我运行多个实例,我想扩展这个计划,使它更有效,我想我可以这样做,从实例名中获取最后一个整数。我知道如何使用Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.CurrentRoleInstance.Id获取此号码

但我不知道如何获得总的实例数,我需要它,以便平均分配时间表

有人知道如何在不必使用Azure的管理API的情况下获得此功能吗?

试试属性。以下是此页面中仅用于查找所有实例的代码:

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

天哪,太明显了,多谢各位。。这很好,它甚至有配置更改时的事件。。美好的