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