Recibo una excepción en DateTime.Now en nuestro servidor que ejecuta algunos sitios web. Esto me ha sucedido dos veces en los últimos 3 días. Muy extraño. Me pregunto si esto ha comenzado a suceder con la última actualización de Windows y si alguno de ustedes han visto un comportamiento similar que entraDateTime.Now está lanzando una excepción
La excepción lanzada es:.
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)
El código donde esto sucede es la primera línea en la sentencia if-:
HttpCookie loggedIn = Request.Cookies[Config.Instance.LoggedInCookieName];
if (loggedIn != null)
{
loggedIn.Expires = DateTime.Now.AddHours(4);
Response.Cookies.Add(loggedIn);
}
aunque hay una AddHours allí y en la excepción está hablando de DateTime.Add, no creo que tenga nada que ver con los AddHours, sino que es causada por la llama a Now como puedes ver en el seguimiento de la pila.
El servidor en el que estoy está ejecutando Windows Server 2003 y está ejecutando la configuración regional en inglés (Reino Unido).
Gracias por cualquier ayuda.
Suena como una actualización de Windows dudosa que causó o una instalación dañada de .NET realmente ... – Noldorin
¿Puede proporcionar el seguimiento de pila completo?Tal vez esto tiene algo que ver con eso? http://blog.brianhartsock.com/2009/02/21/systemargumentoutofrangeexception-at-systemwebhttpcachepolicyutcsetlastmodifieddatetimetimeutcdate/ – mellamokb
Sé que esto puede parecer poco probable, pero ¿la hora del sistema está configurada correctamente? – hatchet