1

我们有一个 Windows Azure 云服务,每个部署有两个实例。目前,部署是这样连接的:

部署 IDa1a1...在生产槽中。

部署 IDb2b2...位于暂存槽中。

这些部署中的 Web 角色有一个状态页面,可以这样访问:

http://a1a1... .cloudapp.net/status
http://b2b2... .cloudapp.net/status

在此状态页面上,我们将显示部署 ID,我们以编程方式查找它,如下所示:

if (Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.IsAvailable)
{
    return Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.DeploymentId;
}

奇怪的是,b2b2...无论我们调用两个 URL 中的哪一个,这个状态页面都会显示部署 ID。

http://a1a1... .cloudapp.net/status应该显示a1a1...为部署 ID?

顺便说一句:我们的域http://www.ourdomain.com/status显示正确的部署 ID a1a1...

4

1 回答 1

0

您是否进行过 VIP 交换来交换您的制作和登台服务?您可能会遇到这种情况有几个原因,但如果您进行了 VIP 交换,那么我想说最有可能的是您对 2 个不同 URL 的请求实际上会发送到同一个托管服务。这通常是由于在 VIP 交换后客户端和服务器之间的 TCP 连接保持打开状态,这意味着 HTTP 请求将继续通过同一 TCP 连接发送。

解决此问题的第一件事是对这两个服务进行 RDP,并检查 IIS 日志以查看请求是否发送到同一服务。

于 2013-04-01T20:15:41.313 回答