404 при попытке открыть сайт с компьютера, на котором развернута веб-роль Azure - PullRequest
0 голосов
/ 25 ноября 2011

В конце RoleEntryPoint.OnStart() Я хочу открыть сайт веб-роли, чтобы убедиться, что он не сломается с какой-то глупой ошибкой. Поэтому я делаю следующее:

WebRequest request = WebRequest.Create( "http://127.0.0.1" );
using( WebResponse response = request.GetResponse() ) {
}

, и это не с WebException с (404) Not Found текстом. Роль имеет открытую конечную точку HTTP на порту 80, поэтому это не должно быть проблемой. Однако, если я опущу этот код и роль начнется, я могу открыть http://mysubdomain.cloudpapp.net без проблем.

В чем здесь дело? Как открыть веб-страницу сайта веб-роли из веб-роли?

1 Ответ

2 голосов
/ 26 ноября 2011

Вы не должны использовать 127.0.0.1, но вместо этого InputEndpoint, указанный для WebRole.

Вы можете получить экземпляр IPEndpoint из него с помощью sode, например:

RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["YourInputEndpointForWebRole"].IPEndpoint

Затем получите IP-адрес с IPEndpoint instace.

EDIT

Просто дважды проверьте, чтобы подтвердить причину:

Причина этого заключается в том, что привязки сайта для веб-сайта в IIS не *: 80 (как некоторые официально делают в локальном IIS), а просто к определенному DIP (прямому (внутреннему) IP-адресу) экземпляра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...