我們有一個運行在IIS6上的asp.net應用程序,它使用.net 2.0(XP)在按鈕點擊事件中調用Web服務。 Web服務需要30多分鐘才能完成。但不知怎麼的,經過一段時間,通常在20〜30分鐘之間,asp.net又做了一次按鈕點擊事件的回傳,這在我們的應用中造成了問題。何時以及爲什麼線程TimerCallback被觸發?
軌道堆棧(見下文)顯示回發是由Threading.TimeCallback觸發的。有誰知道爲什麼?或與IIS設置相關的任何內容?
讚賞! 邁克爾
在ASP.platform_workflow_executeworkflow_aspx.ProcessRequest(HttpContext的上下文) 在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep步驟,布爾& completedSynchronously) 在System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(異常錯誤) 在System.Web.HttpApplication.ResumeStepsFromThreadPoolThread(異常錯誤) 在System.Web.HttpApplication.AsyncEventExecutionStep.ResumeStepsWithAssert(異常錯誤) 在系統.Web.HttpApplication.AsyncEventExecutionStep.OnAsyncEventCompletio在System.Web.HttpAsyncResult.Complete(布爾同步,對象結果,異常錯誤,RequestNotificationStatus狀態) 在System.Web.SessionState.SessionStateModule.PollLockedSessionCallback(對象狀態) 在System.Threading.ExecutionContext處,n(IAsyncResult ar) 。 runTryCode(對象的UserData) 在System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode代碼,CleanupCode backoutCode,對象的UserData) 在System.Threading.ExecutionContext.Run(的ExecutionContext的ExecutionContext,ContextCallback回調,對象狀態) 在的System.Threading ._TimerCallback.PerformTimerCallback(對象狀態)