来自Web角色的Azure工作者内部端点

时间:2012-07-30 16:43:22

标签: azure zeromq

我创建了一个托管服务,其中包含两个角色 - 一个Web角色和一个辅助角色。我想使用ZeroMQ在内部进行角色之间的通信(我计划创建一堆这样的托管服务,每个服务中要处理的数据略有不同)。我想知道如何从Web角色中找出worker角色的内部IP地址,反之亦然,以便我可以在ZMQ的connect()中使用它们。这有可能吗?

1 个答案:

答案 0 :(得分:3)

是的,这是可能的。您可以通过RoleEnvironment访问您的角色,然后您可以访问您的实例,您的终端,...

foreach (var role in RoleEnvironment.Roles)
{
    // Access role.Key to identify the role.

    foreach (var instance in role.Value.Instances)
    {
        // Access instance.Id to identify the instance.

        foreach (var endpoint in instance.InstanceEndpoints)
        {
            // Access endpoint.Key to identify the endpoint.

            System.Net.IPAddress ip = endpoint.Value.IPEndpoint.Address;
            int port = endpoint.Value.IPEndpoint.Port;
        }
    }
}