一個項目近期開始扔兩三這些異常的一天。我的調查顯示,這通常是由未來具有未來時間戳的程序集引起的,這通常是由部署到其他時區(this was a good resource)中的計算機引起的。在這一年中,我們沒有遇到過這個問題,即該應用程序已經運行,並且接收的流量比少數例外情況下的流量要多得多。ArgumentOutOfRangeException從部署在Azure中System.Web.HttpCachePolicy.UtcSetLastModified(DateTime的utcDate)
我重新部署了啓用遠程桌面,並檢查了我們dll的時間戳和\ Windows \ Microsoft.NET和\ Windows \ assembly目錄的內容,但未找到任何「未來」時間戳。在這一點上,我卡住了,並且會很感激想法。
堆棧跟蹤:
System.ArgumentOutOfRangeException:指定的參數已超出有效值的範圍。 參數名:utcDate 在System.Web.HttpCachePolicy.UtcSetLastModified(DateTime的utcDate) 在System.Web.HttpCachePolicy.SetLastModified(DateTime的日期) 在System.Web.UI.Page.InitOutputCache(OutputCacheParameters cacheSettings) 的系統。 Web.UI.Page.ProcessRequest(布爾includeStagesBeforeAsyncPoint,布爾includeStagesAfterAsyncPoint) 在System.Web.UI.Page.ProcessRequest() 在System.Web.UI.Page.ProcessRequest(HttpContext上下文) 在System.Web.Mvc。 OutputCacheAttribute.OnResultExecuting(ResultExecutingContext filterContext) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter,ResultExecutingContext preContext,Func
1 continuation) at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func
1 continu ation) 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) 在System.Web.Mvc.Async.AsyncResultWrapper。 <>在System.Web.Mvc.AsyncController.EndExecuteCore(IAsyncResult asyncResult) 上的c__DisplayClass4.b__3(IAsyncResult ar) 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) 在System.Web.Mvc.Async.AsyncResultWrapper。 <> c__DisplayClass4.b__3(IAsyncResult的AR) 在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步驟,布爾& completedSynchronously)
我看到同樣的問題。我查看了System.Web.HttpCachePolicy和System.Web.UI.Page代碼(通過SSCLI),發現這應該是不可能的。當您嘗試將最後修改日期設置爲將來的日期(大於DateTime.UtcNow)時,會引發該異常。這不應該發生,因爲框架使用HttpContext.Timestamp,它在請求開始時設置爲DateTime.UtcNow。一個可能的解釋可能是NTP(時間同步)在請求正在處理時踢入? –
您是否將任何數據存儲在表存儲器中,查看Datetime是否使用UTC時間格式正確。同時檢查將日期時間轉換爲字符串並對其進行測試 – user145610