Я получаю исключение, заброшенное на DateTime.Now на нашем сервере работает несколько сайтов. Это произошло сейчас дважды для меня за последние 3 дня. Действительно странно. Мне интересно, это началось ли произойдет с последним обновлением Windows, и если какой-либо из вас видели подобное поведение приходя в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)
код, где это происходит, является первым строка в Условный оператор:
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, вызвавшее его, или поврежденная установка .NET действительно ... – Noldorin
Можете ли вы предоставить полную трассировку стека?Может быть, это как-то связано с этим? http://blog.brianhartsock.com/2009/02/21/systemargumentoutofrangeexception-at-systemwebhttpcachepolicyutcsetlastmodifieddatetime-utcdate/ – mellamokb
Я знаю, что это может показаться маловероятным, но правильно ли установлено системное время? – hatchet