いくつかのWebサイトを実行しているサーバー上でDateTime.Nowに例外がスローされています。これは、過去3日間で2倍になった。本当に奇妙です。私は、これは最新のWindows Updateで、あなたのいずれかが、同様の挙動が来る見ている場合に発生することが開始されているかどうかを疑問に思ってDateTime.Nowが例外をスローしています
をスローされた例外は、次のとおりです。
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)
この問題が発生したコードは最初のものですif文で行:
HttpCookie loggedIn = Request.Cookies[Config.Instance.LoggedInCookieName];
if (loggedIn != null)
{
loggedIn.Expires = DateTime.Now.AddHours(4);
Response.Cookies.Add(loggedIn);
}
そこでAddHoursで、例外がDateTime.Addについて話しているが、私はそれがAddHoursを行うには何も持っていますが、によって引き起こされるとは考えていませんスタックトレースに表示されているようにNowを呼び出します。
私が使用しているサーバーは、Windows Server 2003を実行しており、英語(英国)ロケールを実行しています。
ありがとうございました。
これは、原因となった厄介なWindows Updateのようなものです。実際に.NETのインストールが破損しているようです... – Noldorin
完全なスタックトレースを提供できますか?多分これには何か関係がありますか? http://blog.brianhartsock.com/2009/02/21/systemargumentoutofrangeexcept-at-systemwebhttpcachepolicyutcsetlastmodifieddatetime-utcdate/ – mellamokb
これは起こりそうにないかもしれませんが、システム時刻が正しく設定されていることがわかりましたか? – hatchet