gpt4 book ai didi

azure - Azure 中的 ArgumentOutOfRangeException 来自 System.Web.HttpCachePolicy.UtcSetLastModified (DateTime utcDate)

转载 作者:行者123 更新时间:2023-12-04 08:55:51 25 4
gpt4 key购买 nike

部署在 Azure 中的一个项目最近开始每天抛出两到三个此类异常。我的调查表明,这通常是由具有 future 时间戳的程序集引起的,通常是由于部署到其他时区的计算机( this was a good resource )引起的。该应用程序上线的一年多以来,我们从未遇到过此问题,并且它收到的流量比少数异常(exception)情况所暗示的要多得多。

我在启用远程桌面的情况下重新部署,并检查了 dll 的时间戳以及\Windows\Microsoft.NET 和\Windows\assembly 目录的内容,但没有找到任何“ future ”时间戳。在这一点上,我陷入了困境,并且将不胜感激您的想法。

堆栈跟踪:

System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: utcDate at System.Web.HttpCachePolicy.UtcSetLastModified(DateTime utcDate) at System.Web.HttpCachePolicy.SetLastModified(DateTime date) at System.Web.UI.Page.InitOutputCache(OutputCacheParameters cacheSettings) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at System.Web.Mvc.OutputCacheAttribute.OnResultExecuting(ResultExecutingContext filterContext) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func
1 continuation) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList
1 filters, ActionResult actionResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass27.b__24(IAsyncResult asyncResult) at System.Web.Mvc.AsyncController.<>c__DisplayClass19.b__14(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar) at System.Web.Mvc.AsyncController.EndExecuteCore(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar) at System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.b__4(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

最佳答案

时区问题在Azure环境中确实是一个令人头疼的问题,所以我建议您添加启动任务并更改Azure环境的时区。我并不是说这会解决您的问题,但尝试一下也没什么坏处,不是吗?要更改 Azure 环境的时区:

1) 将 tzutil/s "Pacific Standard Time" 保存为 .cmd 并将该文件包含到您的项目中。

2) 在文件的属性屏幕中,选择“始终复制”作为“复制到输出”选项,选择“无”作为构建操作。

3) 将以下内容添加到您的 ServiceDefinition 文件中:

<Startup>
<Task commandLine="nameOfFileYouCreated.cmd" executionContext="elevated" />
</Startup>

4)当然,调整项目中的 DateTime 引用,您不必处理转换等问题。

关于azure - Azure 中的 ArgumentOutOfRangeException 来自 System.Web.HttpCachePolicy.UtcSetLastModified (DateTime utcDate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12712256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com