添加或减去的值会导致无法表示的日期时间.参数名称

本文关键字:日期 表示 时间 参数 添加 | 更新日期: 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

你会得到例外,确保你保持在界限内。