【问题标题】:Windows Azure Websites - Get Instance IdentifierWindows Azure 网站 - 获取实例标识符
【发布时间】:2013-08-07 03:17:49
【问题描述】:

在具有多个实例的 Azure 网站上确定响应哪个实例(某些 ID 或其他唯一信息)的可能方法是什么?

【问题讨论】:

  • 您找到解决方案了吗?
  • 不,我决定不走这条路线,因为它似乎有问题。

标签: azure azure-web-app-service


【解决方案1】:

以下环境设置将具有当前请求正在运行的实例 ID:WEBSITE_INSTANCE_ID

您还将在名为 ARRAffinity 的响应中以 cookie 的形式收到此 ID。

您还可以使用此信息返回该特定实例,请参阅:http://blog.amitapple.com/post/2014/03/access-specific-instance/ 了解更多信息。

【讨论】:

    【解决方案2】:

    Microsoft Azure 为 Azure Web Apps(以前称为网站)提供了许多环境变量,包括:

    • WEBSITE_SITE_NAME - 站点名称。

    • WEBSITE_INSTANCE_ID- 代表运行该站点的 VM 的 ID。

    • 请参阅 David Ebbo 的 Azure Runtime Environment 了解更多详情。

    【讨论】:

      【解决方案3】:

      您可以使用 Server.MachineName 来获取服务器的名称。

      【讨论】:

        【解决方案4】:

        在配置中设置InstanceInputEndpoint。这将为每个实例分配给定端口范围内的端口,然后您可以通过该端口访问一个实例。

        更多关于InstanceInputEndpoint的信息:http://msdn.microsoft.com/en-us/library/windowsazure/gg557553.aspx

        【讨论】:

        • 这是用于 Azure Web 角色,而不是 Azure 网站(现在称为 Azure Web 应用)
        【解决方案5】:

        您可以使用 RoleEnvironment.CurrentRoleInstance.Id

        【讨论】:

        • 这在 Azure 网站上不起作用,可能是因为这是针对 WebRoles 的?
        【解决方案6】:

        Request.ServerName 我相信。就像普通的 IIS 一样

        【讨论】:

        • 那行不通。当您有多个实例(专用模式)时,所有实例返回的服务器名称都是相同的 ([website-name].azurewebsites.net)
        • Request.ServerName 不是有效属性。我猜你的意思是Request.ServerVariables[“SERVER_NAME”]
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-24
        • 1970-01-01
        • 2014-04-09
        • 1970-01-01
        • 1970-01-01
        • 2017-08-11
        • 2014-03-09
        相关资源
        最近更新 更多