2011-12-28 40 views
4

我正在寻找一些代码,将角色扩展到给定数量的实例,并给出我想要扩展的角色ID。我正在寻找某人来实施这种方法。以编程方式扩展Windows Azure角色

Private Shared Sub DoScaleOperation(RoleID As String, InstanceCount As Integer) 
    'TODO: 
    'Check if the current number of instances in the role RoleID matches InstanctCount 
    'and if the numbers don't match then scale down or scale up as appropriate. 
End Sub 

此方法应该适用于开发环境和云环境。有谁知道如何做到这一点?

我也想知道角色实例的名称将会放大哪些名称,以及在缩小比例时删除的实例的名称。我希望实例的名称会像RoleID_(0到InstanceCount - 1)。

回答

7

有一个API需要调用以编程方式更改Azure中的实例数:http://msdn.microsoft.com/en-us/library/windowsazure/ee460809.aspx此API在本地开发环境中不起作用。您需要提供您的通话的管理证书。 您还可以使用Azure cmdlet更改实例计数。

+0

我需要在角色缩小之前执行某些事件,以确保我清除属于角色实例的某些数据,因此典型的自动缩放方法对我无效。我不了解其余的api,对我来说它看起来像古代中国人。所以我想知道是否有人可以提供我的方法? – RyanFishman 2011-12-28 04:11:04

+0

了解。这里有一些关于这个话题的文章。 http://dotnet.dzone.com/news/windows-azure-and-scaling-how和http://blogs.ugidotnet.org/corrado/archive/2011/02/09/how-to-programmatically-change- azure-role-instances.aspx的数量,并且还有一些显示如何使用cmdlet,如果你足够谷歌。除非它是一个cmdlet,否则没有神奇的“一行代码” – Igorek 2011-12-28 04:19:31

+2

您可以处理OnStop()事件以在您的角色实例中执行关闭代码。这使您的关闭顺序与扩展您的代码无关(并且您不希望在缩放的同一实例中具有缩放代码)。此外,您的角色实例需要在意外关闭时(例如硬件故障)正常恢复。 – 2011-12-28 06:03:11

相关问题