3

我不断收到这个异常,每隔一段时间就会发生一次。出于某种原因,我不认为它是我的代码,因为它也发生在不同的页面上。它也发生在我没有 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()
4

3 回答 3

1

System.Web.HttpContext.MustTimeout似乎参与协调请求超时。为此,我想...

System.DateTime.op_Addition(DateTime d, TimeSpan t)

...正在MustTimeout计算请求应该超时的时刻。它可以通过向请求的开始时间添加一些超时值来做到这一点。

检查您是否没有任何web.config人为高或无效的超时(在或其他情况下)。例如:

<system.web>
    <httpRuntime executionTimeout="999999999999" />
</system.web>

此 Stack Overflow 答案中记录了各种超时。

于 2013-10-09T03:34:26.960 回答
0
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

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

于 2013-10-09T03:44:09.910 回答
0

当我试图使cookie过期时,我得到了同样的结果,但现在它对我有用:)

HttpCookie cookie = new HttpCookie("appts");
cookie.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie);
于 2015-10-12T07:37:02.713 回答