15

3 月 7 日以降、東南アジア地域の Azure サーバーに、.NET の TimeZoneInfo の動作を変更するパッチが適用されたようです。

ローカル マシンを「(UTC) 協定世界時」に設定し、次のコードを実行すると「UTC」が生成されます。

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(TimeZoneInfo.Local.Id);
            Console.ReadLine();
        }
    }
}

Azure インスタンスの 1 つにリモート接続し、この同じアプリケーションを実行すると、次の結果が得られます。

「協定世界時」

.NET ドキュメントによると、これは Id プロパティではなく、StandardName プロパティによって返される値です。この値を TimeZoneInfo.FindSystemTimeZoneById() に渡しますが、「協定世界時」は有効な ID ではない (「UTC」は有効) ため、失敗します。このタイムゾーンは、StandardName プロパティが Id プロパティと一致しない 3 つのうちの 1 つです。

3 月 7 日より前は、Azure インスタンスは常に適切な値の "UTC" を返していました。当面の間、一時的な解決策として「UTC」をハードコーディングしました。

なぜこれがこのように変わったのか、そしてこの状況を処理するための適切な長期的な解決策は何ですか?

4

1 に答える 1

1

Currently, the time zone within Windows Azure is Pacific Standard Time (PST). They have migrated to Coordinated Universal Time (UTC). This is potentially a breaking change for applications which rely on local time.

Why are we doing this?

Windows Azure is a global service. To ensure that applications behave the same way regardless of their physical location, it’s important that Windows Azure have a consistent time zone across all geographies. UTC is a natural choice given the global customer base, and UTC is not subject to Daylight Saving Time (and the associated risk of bugs).

What’s the potential impact to you?

If your application running in Windows Azure relies on local time, you will be impacted by the migration to UTC. Here are a few examples of potential issues:

Gaps may occur in event logs if local timestamps are used. User interfaces that depend on local timestamps may show different results. Local timestamps stored by your application may be interpreted differently after the changeover. Many applications have already been designed to rely only on UTC time. These applications should be unaffected.

If you want them to change it back or if you have any other issues, you can take it up with them on the following blog link ::

Windows Azure blog

于 2013-04-04T13:34:19.360 に答える