添加或减去的值会导致无法表示的日期时间.参数名称
本文关键字:日期 表示 时间 参数 添加 | 更新日期: 2023-09-27 18:34:26
我不断收到每隔一段时间就会发生的异常。出于某种原因,我不认为这是我的代码,因为它也发生在不同的页面上。它也发生在我没有 DateTime 对象的页面上。
此外,当存在转到一行代码的应用程序异常时,出现的异常窗口是不同的。当此异常发生时,情况并非如此。在顶部,它说代码堆栈仅包含外部代码。
The added or subtracted value results in an un-representable DateTime.
at System.DateTime.op_Addition(DateTime d, TimeSpan t)
at System.Web.HttpContext.MustTimeout(DateTime utcNow)
at System.Web.RequestTimeoutManager.RequestTimeoutEntry.TimeoutIfNeeded(DateTime now)
at System.Web.RequestTimeoutManager.CancelTimedOutRequests(DateTime now)
at System.Web.RequestTimeoutManager.TimerCompletionCallback(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()
System.Web.HttpContext.MustTimeout
似乎参与了协调请求超时。为此,我想...
System.DateTime.op_Addition(DateTime d, TimeSpan t)
。MustTimeout
计算请求应超时的时刻。它可以通过向请求的开始时间添加一些超时值来做到这一点。
检查您是否没有任何人为高或无效的超时(web.config
或其他超时)。例如:
<system.web>
<httpRuntime executionTimeout="999999999999" />
</system.web>
此堆栈溢出答案中记录了各种超时。
当我
尝试使 cookie 过期时,我得到了相同的结果,但现在它对我有用:)
HttpCookie cookie = new HttpCookie("appts");
cookie.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie);
Max Value 23:59:59.9999999, December 31, 9999,
Min Value 00:00:00.0000000, January 1, 0001.
If your DateTime + TimeSpan< MinValue Or DateTime + TimeSpan>MaxValue
你会得到例外,确保你保持在界限内。