Ich habe eine Silberlicht Anwendung, die von den Nutzern ausgeführt werden soll verschiedene Zeitzonen .
Diese Anwendungen laden ihre Daten beim Starten vom Server, dann Cache es in IsolatedStorage .
Wenn ich Änderungen an den Daten auf dem Server vornehme, möchte ich die Möglichkeit haben, die " letzte Aktualisierungszeit ", damit alle Silverlight-Clients die neuesten Daten herunterladen das nächste Mal, wenn sie dieses Datum überprüfen.
Ich bin jedoch etwas verwirrt, wie ich mit dem Problem der Zeitzone umgehen soll, da a wenn die Server ist in New York und die Aktualisierungszeit wird festgelegt auf 2010-01-01 17:00:00 und eine Kunde en Seattle prüft, vergleicht sie mit ihrer lokalen Zeit von 2010-01-01 14:00:00 wird er nicht aktualisiert und liefert noch drei Stunden lang alte Daten.
Meine Lösung ist, immer Beitrag die Aktualisierungszeit in UTC-Zeit nicht mit der Zeit auf dem Server, dann machen Sie die Silverlight-Anwendung siehe con DateTime.UtcNow .
Ist das so einfach, wie es sich anhört, oder gibt es dabei Probleme, z.B. dass die Zeitzonen auf den Computern nicht korrekt eingestellt sind und die SilverlightApp daher nicht die richtige UTC-Zeit meldet. Kann jemand aus Erfahrung sagen, wie wahrscheinlich es ist, dass die Verwendung von DateTime.UtcNow wie dies für die Cache-Aktualisierung in allen Fällen funktionieren wird?
Wenn DateTime.UtcNow nicht zuverlässig ist, werde ich einfach eine inkrementiert "DatenVersion" Ganzzahl aber es gibt andere Szenarien, in denen es nützlich wäre, die Zeitzonensynchronisation zu verbessern, um zu verstehen, wie man dies in Silverlight-Anwendungen lösen kann.