Asp.Net正在停止線程引起的問題

背景:

Asp.Net作的一個同步程序,同步的方法是經過JQuery的Ajax調用,同步過程大概要執行20多分鐘,程序部署到服務器後執行一段時間後就彈出執行失敗的對話框,日誌記錄的錯誤信息是「正在停止線程」。服務器

查錯過程:

一、根據「AspNet 正在停止線程「進行搜索,獲得的結果基本都是跟」Response.End「有關的,但個人代碼中沒有Response.End,因此基本能夠排除;線程

二、由於使用JQuery的Ajax,因此猜測會不會是由於Ajax超時致使,修改代碼將返回狀態彈出:debug

發現返回的status爲」error「,也嘗試過將timeout設置爲一個較大值,發現問題依然存在,因此能夠排除是JQuery Ajax超時;日誌

三、使用Fiddler2進行監控,發現執行一段時間後報了500錯誤,顯示的錯誤詳細信息以下圖:blog

到了這一步就好辦了,能夠知道是httpRuntime超時了,配置Webconfig就能夠了,以下圖:部署

設置好好後發不到服務器,再次運行程序,問題解決。同步

奇怪的是在本機運行的時候即便沒有設置executionTimeout也不會出現問題,緣由是在本機的Webconfig中的compilation節點的有個debug屬性設置爲true,發佈後的Webconfig中的compilation沒有debug節點,當debug屬性爲false時,httpRuntime的executionTimeout屬性纔會生效。io

相關文章
相關標籤/搜索