0

Web ロールと worker ロールの 2 つのロールを持つホステッド サービスを作成しました。ZeroMQ を使用して、ロール間で内部的に通信したいと考えています (それぞれで処理するデータがわずかに異なる、そのようなホストされたサービスの束を作成する予定です)。ZMQ の connect() で使用できるように、ワーカー ロールの内部 IP アドレスを Web ロールから、またはその逆に調べる方法を考えています。これはまったく可能ですか?

4

1 に答える 1

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;
        }
    }
}
于 2012-07-30T16:48:15.463 に答える