Azure托管服务:VM计算机名称

Azure托管服务:VM计算机名称,azure,virtual-machine,Azure,Virtual Machine,我们在Azure上部署了一个应用程序作为托管服务。如果我们部署服务,指定需要10个实例,它将创建10个托管应用程序的虚拟机。我的问题是,如果在应用程序的代码中我引用System.Environment.MachineName,是否保证应用程序运行的每个实例都有一个唯一的计算机名?因此,从理论上讲,如果我有一个页面,每次点击它时都只显示System.Environment.MachineName,那么最终我会看到10个不同的机器名吗?由于显然可以在同一个设备上运行多个虚拟机,我不确定技术上是否可以

我们在Azure上部署了一个应用程序作为托管服务。如果我们部署服务,指定需要10个实例,它将创建10个托管应用程序的虚拟机。我的问题是,如果在应用程序的代码中我引用System.Environment.MachineName,是否保证应用程序运行的每个实例都有一个唯一的计算机名?因此,从理论上讲,如果我有一个页面,每次点击它时都只显示System.Environment.MachineName,那么最终我会看到10个不同的机器名吗?由于显然可以在同一个设备上运行多个虚拟机,我不确定技术上是否可以在同一物理硬件上运行两个实例,如果可以,这两个实例是否都返回相同的System.Environment.MachineName?或者System.Environment.MachineName在同一机箱上的虚拟机中是唯一的


如果我不能保证有10个唯一的名称,那么我是否可以从代码中获得足够唯一的数据来识别实例,以便我能够识别我的应用程序的所有10个实例何时都被命中?

我们是在谈论云服务中托管的Web/工作者角色吗?如果是这样,您可以使用
RoleEnvironment
类来获取这些详细信息:

以下标识符对于角色的每个部署都是唯一的,请检查这是否有帮助


部署通常是一个术语,用于表示部署到临时或生产环境的enter服务。您确定每个VM的DeploymentID都会不同吗?或者它是部署的标识符,而不管它在哪个VM上?这导致了答案,但最好使用的是RoleEnvironment.CurrentRoleInstance.Id。