我的服务部署到几个不同的环境(多个开发环境以及生产环境)。服务代码需要在运行时找出当前部署的URL。
是否有一种简单的方法可以检索Azure角色的面向外部的URL?如果Web角色正在处理请求,则可以直接查看HttpContext.Current.Request并删除URL。但我还没有找到办法为工人角色做这件事。你认为有一种方法可以从RoleEnvironment获得这个,但我能找到的最接近的东西(RoleEnvironment.CurrentRoleInstance.RoleInstanceEndpoints)似乎返回内部IP /端口信息,而不是面向外部的DNS名称。 / p>
我总是可以将部署URL存储在ServiceConfiguration键中(即将其静态存储在每个ServiceConfiguration.???.cscfg中),但我希望避免在配置文件中对此进行硬编码。有没有办法以编程方式执行此操作?
答案 0 :(得分:0)
您需要调用REST管理API
请参阅此StackOverflow帖子: How can I find the staging URL for an Azure deployment?
使用GetDeployment: http://msdn.microsoft.com/en-us/library/ee460804.aspx 获取已部署服务的URL