Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以仅使用事件检测Azure角色实例计数中的更改?_C#_Events_Azure - Fatal编程技术网

C# 是否可以仅使用事件检测Azure角色实例计数中的更改?

C# 是否可以仅使用事件检测Azure角色实例计数中的更改?,c#,events,azure,C#,Events,Azure,在我的Azure角色中,我需要能够随时查询当前实例数 我没有任何内部端点,因此无法使用。我可以使用管理API,但它相对比较耗时,查询它有时会导致协议超时错误,我宁愿不处理超时 看起来有一个事件可以包含反映哪个角色更改实例计数的RoleEnvironmentTopologyChange类对象。这对我来说是最好的——我不需要做任何外部调用,只要在新实例计数发生变化时存储它,就不会有开销,也不会超时。然而,我无法确定当RoleEnvironment.Changing触发时是否有可能找到新的实例计数 是

在我的Azure角色中,我需要能够随时查询当前实例数

我没有任何内部端点,因此无法使用。我可以使用管理API,但它相对比较耗时,查询它有时会导致协议超时错误,我宁愿不处理超时

看起来有一个事件可以包含反映哪个角色更改实例计数的
RoleEnvironmentTopologyChange
类对象。这对我来说是最好的——我不需要做任何外部调用,只要在新实例计数发生变化时存储它,就不会有开销,也不会超时。然而,我无法确定当
RoleEnvironment.Changing
触发时是否有可能找到新的实例计数


是否可以仅使用
RoleEnvironment.Changing
或Azure中的类似事件来检测角色实例计数和实例实际数量的更改?

是的,在该事件处理程序中,您可以使用RoleEnvironment.Roles来获取角色列表。然后,对于每个角色,可以使用Instances属性查找该角色有多少个实例。不需要使用管理API。要检测更改,请在实例启动期间查询实例计数,并将数据保存在内存中,以便以后进行比较

致以最良好的祝愿


Xu Ming.

角色。仅当角色具有内部终结点时,实例才会起作用,而这不是问题中指定的我的情况。是的,必须为角色定义至少一个内部终结点,以便在运行时知道实例,请参阅以查看它是否有帮助我在提出问题之前已经阅读过,并且我没有内部端点。