我的服务部署到几个不同的环境(多个开发环境以及生产环境)。服务代码需要在运行时找出当前部署的 URL。
是否有一种简单的方法来检索 Azure 角色的面向外部的 URL?如果 Web 角色正在处理请求,则可以直接查看 HttpContext.Current.Request 并找出 URL。但是我还没有找到一种方法来为工人角色做到这一点。您可能认为有一种方法可以从 RoleEnvironment 获取此信息,但我能找到的最接近的东西 (RoleEnvironment.CurrentRoleInstance.RoleInstanceEndpoints) 似乎返回内部 IP/端口信息,而不是面向外部的 DNS 名称。
我总是可以将部署 URL 存储在 ServiceConfiguration 键中(即,将其静态存储在每个 ServiceConfiguration.???.cscfg 中),但我希望避免在配置文件中对其进行硬编码。有没有办法以编程方式做到这一点?