Невозможно подключиться к конечной точке 127.0.0.1 программно при локальном запуске Azure InternalEndpoint в эмуляторе
У меня проблемы с настройкой локальной среды для запуска желаемого развертывания Azure в эмуляторе.
У меня есть одна веб-роль (MyWebSite)
с открытым (InputEndpoint) и одним WebRole с InternalEndpoint (MyServiceApplication)
, InternalSite имеет набор служб WCF, которые он предоставляет PublicSite.
т.е.
<WebRole name="MyServiceApplication" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="MyInternalEndpoint" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InternalEndpoint name="MyInternalEndpoint" port="8083" protocol="http"></InternalEndpoint>
</Endpoints>
</WebRole>
<WebRole name="MyWebSite" vmsize="Small">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="80" />
</Endpoints>
</WebRole>
Я подключаюсь к конечным точкам MyServiceApplication программным способом с MyWebSite. то есть.
var applicationRole = RoleEnvironment.Roles["MyServiceApplication"].Instances.First().InstanceEndpoints["MyInternalEndpoint"].IPEndpoint;
var endPointAddress = string.Format("http://{0}:{1}/MyService.svc", applicationRole.Address, applicationRole.Port);
var channel = channelFactory.CreateChannel(new EndpointAddress(endPointAddress));
endPointAddress
переменная оказывается http://127.0.0.1:8083/MyService.svc
во время выполнения в Azure Emulator Express, однако он жалуется:
Там не было конечной точки прослушивания
http://127.0.0.1:8083/MyService.svc
что может принять сообщение.
Тем не менее, когда я перехожу к этой конечной точке через http://localhost:8083/MyService.svc
У меня нет проблем.
Итак, я думаю, вопрос в том, как я могу получить привязку InternalEndpoint к 127.0.0.1
в Azure Emulator Express (в отличие от localhost), или есть способ, которым я могу программно разрешить конечную точку, чтобы быть http://localhost:8083/MyService.svc
?
Надеюсь, кто-то может помочь,
1 ответ
Для всех, кто интересуется, обе роли связываются с 127.0.0.1 (в отличие от localhost), когда я запускаю Visual Studio с правами администратора.
Не совсем уверен, почему это так, но это помогло мне.