Azure WorkerRole可以检测到它的位置吗?

| 我的问题是什么意思:是否可以检测到工作角色部署在哪个数据中心?我正在尝试以编程方式确定我的工作人员角色是否在北美与欧洲Azure数据中心中,目的是连接到位于同一地理位置的数据库。 例如,是否有环境变量?或者,也许我可以根据公共IP地址获得此信息?我愿意接受其他选择。 我问这个问题的原因是因为我想在NA数据中心中部署完全相同的工作角色,并且也将其部署在EU中,最终也部署在APAC中,但是我希望该角色连接到最近的数据库。我试图避免在.CFG中手动指定连接字符串,因为恐怕有一天有人会将代码部署到EU并忘记调整连接字符串。我的目标是使所有连接字符串都出现在.CFG中,而我的工作人员角色要足够聪明,可以根据其位置选择合适的连接字符串。     
已邀请:
        是的,但是您必须使用服务管理API。若要在没有任何配置设置的情况下执行此操作,您将首先枚举托管服务,然后针对每个调用“获取托管服务属性”(http://msdn.microsoft.com/zh-cn/library/ee460806.aspx)。在此响应中,您需要将RoleEnvironment中的DeploymentId与PrivateId匹配。这将告诉您正在运行哪个托管服务。在同一响应中是位置。 现在,有一个更简单的方法。只需将值放在ServiceConfiguration中,并因部署而有所不同!     

要回复问题请先登录注册