检测windows azure中是否存在角色实例

检测windows azure中是否存在角色实例,azure,Azure,windows azure中是否有一项服务,我可以查询角色实例的非缓存记录,以查看角色实例是否存在,如果存在,其IP地址和端口是什么?是,可以从您的云服务中查询: foreach (var role in Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.Roles) { foreach (var instance in role.Value.Instances) { foreach (string end

windows azure中是否有一项服务,我可以查询角色实例的非缓存记录,以查看角色实例是否存在,如果存在,其IP地址和端口是什么?

是,可以从您的云服务中查询:

foreach (var role in Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.Roles)
{
    foreach (var instance in role.Value.Instances)
    {
        foreach (string endpointName in instance.InstanceEndpoints.Keys)
        {
            RoleInstanceEndpoint endpoint = instance.InstanceEndpoints[endpointName];
            IPEndPoint ipEndpoint = endpoint.IPEndpoint;                        
        }
    }
}

如果要从云服务外部执行此操作,则需要使用服务管理API:返回部署的配置信息、状态和系统属性。

Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.Roles是缓存列表吗?据我所知,这个值是缓存的,每隔几分钟轮询一次。因此,从理论上讲,可以创建一个角色实例,做一些工作,而其他角色实例仍然认为该角色实例甚至还没有启动。那对我来说不是一个理想的情况。我正在寻找一个条目,该条目将记录实例在加载到负载平衡器之前是否存在。