2012-09-06 57 views
5

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

有没有简单的方法来检索Azure角色的外部URL?如果一个web角色正在处理一个请求,那么直接看一下HttpContext.Current.Request并找出URL即可。但我一直无法找到一种方法来为工作人员角色做这件事。你会认为有一种方法可以从角色环境中获得此信息,但是我能找到的最接近的东西(RoleEnvironment.CurrentRoleInstance.RoleInstanceEndpoints)似乎返回内部IP /端口信息,而不是外部DNS名称。

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

回答