DateTime.Now löst eine Ausnahme aus

Ich erhalte eine Ausnahme für DateTime.Now auf unserem Server, auf dem einige Websites ausgeführt werden. Das ist mir in den letzten 3 Tagen jetzt zweimal passiert. Wirklich seltsam. Ich frage mich, ob dies mit dem neuesten Windows Update begonnen hat und ob jemand von Ihnen ein ähnliches Verhalten beobachtet hat.

Die ausgelöste Ausnahme ist:

<code>BASE EXCEPTION:
  TYPE: System.ArgumentOutOfRangeException
  MESSAGE: Value to add was out of range.
Parameter name: value
  STACK TRACE:
   at System.DateTime.Add(Double value, Int32 scale)
   at System.TimeZoneInfo.TransitionTimeToDateTime(Int32 year, TransitionTime transitionTime)
   at System.TimeZoneInfo.GetDaylightTime(Int32 year, AdjustmentRule rule)
   at System.TimeZoneInfo.GetIsDaylightSavingsFromUtc(DateTime time, Int32 Year, TimeSpan utc, AdjustmentRule rule, Boolean& isAmbiguousLocalDst)
   at System.TimeZoneInfo.GetDateTimeNowUtcOffsetFromUtc(DateTime time, Boolean& isAmbiguousLocalDst)
   at System.DateTime.get_Now()
   at (my code).FrontEnd.FrontEndPage.Page_Load(Object sender, EventArgs e) in (my code file)\code\presentation\FrontEndPage.cs:line 118
   at (my code).purchase.Page_Load(Object sender, EventArgs e) in (my code file)\purchase.aspx.cs:line 94
   at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
   at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
   at System.Web.UI.Control.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
</code>

Der Code, in dem dies geschieht, ist die erste Zeile in der if-Anweisung:

<code>HttpCookie loggedIn = Request.Cookies[Config.Instance.LoggedInCookieName];
if (loggedIn != null)
{
    loggedIn.Expires = DateTime.Now.AddHours(4);
    Response.Cookies.Add(loggedIn);
}
</code>

Es gibt zwar ein AddHours und die Ausnahme spricht von DateTime.Add. Ich glaube, es hat nichts mit den AddHours zu tun, wird aber durch den Aufruf von Now verursacht, wie Sie im Stack-Trace sehen können.

Auf dem Server, auf dem ich mich befinde, wird Windows Server 2003 und das Gebietsschema Englisch (Vereinigtes Königreich) ausgeführt.

Danke für jede Hilfe.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage