5

我的服务部署到几个不同的环境(多个开发环境以及生产环境)。服务代码需要在运行时找出当前部署的 URL。

是否有一种简单的方法来检索 Azure 角色的面向外部的 URL?如果 Web 角色正在处理请求,则可以直接查看 HttpContext.Current.Request 并找出 URL。但是我还没有找到一种方法来为工人角色做到这一点。您可能认为有一种方法可以从 RoleEnvironment 获取此信息,但我能找到的最接近的东西 (RoleEnvironment.CurrentRoleInstance.RoleInstanceEndpoints) 似乎返回内部 IP/端口信息,而不是面向外部的 DNS 名称。

我总是可以将部署 URL 存储在 ServiceConfiguration 键中(即,将其静态存储在每个 ServiceConfiguration.???.cscfg 中),但我希望避免在配置文件中对其进行硬编码。有没有办法以编程方式做到这一点?

4

1 回答 1

0

您需要调用 REST 管理 API

请参阅此 StackOverflow 帖子: 如何找到 Azure 部署的暂存 URL?

使用 GetDeployment: http: //msdn.microsoft.com/en-us/library/ee460804.aspx 来获取已部署服务的 url

于 2014-10-20T09:41:24.943 回答