1

デプロイごとに 2 つのインスタンスを持つ Windows Azure クラウド サービスがあります。現在、デプロイメントは次のように接続されています。

デプロイ IDa1a1...は運用スロットにあります。

デプロイ IDb2b2...はステージング スロットにあります。

これらの展開の Web ロールにはステータス ページがあり、次のようにアクセスできます。

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

このステータス ページには、とりわけ展開 ID が表示されます。展開 ID は、次のようにプログラムで検索します。

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

b2b2...奇妙なことに、2 つの URL のどちらを呼び出しても、このステータス ページには deployment ID が表示されます。

展開 ID としてhttp://a1a1... .cloudapp.net/status表示されるべきではありませんか?a1a1...

ところで: 私たちのドメイン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 に答える