如何在我的代码中为Wasabi Azure扩展块定义规则?

时间:2012-01-25 10:41:43

标签: windows azure cloud scaling wasabi

我想使用Wasabi块来自动扩展我的Azure应用程序。 Looks like规则必须在XML文件中进行硬编码。这让我感到困扰,因为我想要的应用程序规则需要一个相当复杂的指标,我必须在我的代码中计算。

就像一个疯狂的例子,假设我的应用程序生成一个随机数流 - 零和一 - 并且每个实例计算行中“1”的数量和行中“0”的数量。我希望在任何实例遇到十个或更多个连续的“1”时进行扩展,并在任何实例遇到10个或更多连续的“零”时缩小。

我可以在我的代码中检测到这种情况没有问题,但是我如何让Wasabi对它们作出反应并扩展应用程序呢?

1 个答案:

答案 0 :(得分:2)

要实现此目的,您需要实现CustomOperand和关联的Custom DataCollector。 http://msdn.microsoft.com/en-us/library/hh680912(v=pandp.50).aspx

TailSpin示例应用程序中有一个示例。我将首先查看 ActiveSurveysDataPointsCollector 类并从那里开始工作(自定义操作数使用IDataPointCollector实例,然后像规则XML一样引用操作数,就像所有其他操作数一样。< / p>

您将实现方法 public IEnumerable Collect(DateTimeOffset collectionTime),这是您要查看您的位流或由您的位流设置的其他标志的位置创造者。无法以同步的方式向Wasabi发出信号;您将始终使用Collect方法执行并从您的应用程序中检索该信息(或者随后进行计算)。