Как мне показать все конечные точки в облаке Azure, а не только конечные точки в текущем экземпляре роли?Список всех конечных точек экземпляра в Azure Cloud
Я пробовал следующий код, но он перечисляет только конечные точки на текущем Azure, например, а не на каких-либо других Azure случаев:
void ListCloudInstances()
{
var instances = new StringBuilder("");
foreach (var role in RoleEnvironment.Roles)
{
instances.AppendFormat("<h2>Role <em>{0}</em></h2><br/>", role.Value.Name);
if (role.Value.Instances.Count == 0)
instances.AppendFormat("<small>Role <em>{0}</em> has no role instances</small><br/><br/>", role.Value.Name);
foreach (var roleInstance in role.Value.Instances)
{
var currentRoleMarker = RoleEnvironment.CurrentRoleInstance.Id == roleInstance.Id ? " *" : String.Empty;
instances.AppendFormat("<h3>Role <em>{2}</em> instance <em>{0}</em>{1}</h3><br/>",
roleInstance.Id, currentRoleMarker, roleInstance.Role.Name);
// List some metadata about the role instance
instances.AppendFormat("<p>Role instance fault domain: {0}</p>", roleInstance.FaultDomain);
instances.AppendFormat("<p>Role for the instance: {0}</p>", roleInstance.Role.Name);
instances.AppendFormat("<p>Role instance update domain: {0}</p><br/>", roleInstance.UpdateDomain);
// List the endpoints
instances.AppendFormat("<h4>Role <em>{1}</em> instance <em>{0}</em> endpoints</h4><br/>", roleInstance.Id,
roleInstance.Role.Name);
foreach (RoleInstanceEndpoint instanceEndpoint in roleInstance.InstanceEndpoints.Values)
{
if (roleInstance.Role.Name == "Www")
instances.AppendFormat("<p><a href=\"{0}://{1}/Admin/Settings.aspx\" target=\"_blank\">{1}</a></p>",
instanceEndpoint.Protocol, instanceEndpoint.IPEndpoint);
else instances.AppendFormat("<p>Instance endpoint IP address, port, and protocol : {0} {1}</p>",
instanceEndpoint.IPEndpoint, instanceEndpoint.Protocol);
}
}
}
instances.AppendFormat("<small>* Current role instance is {0}</small>", RoleEnvironment.CurrentRoleInstance.Id);
CloudHtml.Text = instances.ToString();
}
Выхода из работы на нескольких проектах роли, где каждая роль имеет несколько экземпляры:
Роль MultiThreadedWorkerRole
Роль MultiThreadedWorkerRole не имеет экземпляров ролей
Роли Www
Роль Www экземпляр deployment22 (203) .CloudService1.Www_IN_1 *
Роль домен ошибки экземпляра: 1
Роль для экземпляра: Www
экземпляр Роли домена обновления : 1
Роль Www instance deployment22 (203) .CloudService1.Www_IN_1 конечные точки
127.255.0.3:82
127.255.0.3:444
- текущего экземпляра роль deployment22 (203) .CloudService1.Www_IN_1
Если я повторно запустил вышеуказанный запрос, я случайно получаю вывод из развертывания экземпляров ролей22 (203) .CloudService1.Www_IN_0 в deploy22 (203) .CloudService1.Www_IN_4, как было решено, каким экземпляром обрабатывает веб-форму ASP.NET, которая выполняет приведенный выше фрагмент кода. Пример:
Роль MultiThreadedWorkerRole
Роль MultiThreadedWorkerRole не играет никакой роли экземпляров
Роль WwW
Роль Www экземпляра deployment22 (203) .CloudService1.Www_IN_0 *
экземпляр Роль домен неисправностей: 0
Роль для экземпляра: Www
Роль домена обновления экземпляра: 0
Роль Www экземпляра deployment22 (203) .CloudService1.Www_IN_0 конечные точки
127.255.0.2:82
127.255.0.2:444
- текущего экземпляра роль deployment22 (203) .CloudService1.Www_IN_0