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