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