404当我尝试从部署Azure Web角色的计算机打开站点时

时间:2011-11-25 12:27:50

标签: c# asp.net .net iis azure

RoleEntryPoint.OnStart()结束时,我想打开Web角色网站,以确保它不会因某些愚蠢的错误而中断。所以我做了以下几点:

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

并且WebException带有(404) Not Found文字时失败。该角色在端口80上有一个开放的HTTP端点,因此这应该不是问题。但是,如果我省略该代码并且角色开始,我可以打开http://mysubdomain.cloudpapp.net没问题。

这是什么交易?如何从Web角色中打开Web角色站点的Web页面?

1 个答案:

答案 0 :(得分:2)

您不应使用127.0.0.1,而是使用为WebRole指定的InputEndpoint。

您可以通过sode获取IPEndpoint实例,如:

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

然后从IP Address instace获取IPEndpoint

修改

只需仔细检查以确认原因:

原因是IIS中的WebSite的站点绑定不是*:80(就像在本地IIS中一样),而只是实例的特定DIP(直接(内部)IP地址)。 / p>