我正在运行这个Azure CloudService。

为了确保我可以安全地利用Servicebus,我已经实施了此博客文章的建议: http://blogs.msdn.com/b/clemensv/archive/2012/07/07/30/transactions-in-windows-azure-with-service-bus-an-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