上傳文件處理數據的時候提示 正在中止線程 Asp.Net正在中止線程引發的問題

使用ajax 上傳文件時 文件較大循環處理數據的時候提示 “正在中止線程”

並沒有使用多線程

終於在網上找到這個文章

 

https://www.cnblogs.com/oec2003/p/3437304.html

Asp.Net正在中止線程引發的問題

 

背景:

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

查錯過程:

1、根據“AspNet 正在中止線程“進行搜索,得到的結果基本都是跟”Response.End“有關的,但我的代碼中沒有Response.End,所以基本可以排除;

2、因爲使用JQuery的Ajax,所以猜想會不會是因爲Ajax超時導致,修改代碼將返回狀態彈出:

發現返回的status爲”error“,也嘗試過將timeout設置爲一個較大值,發現問題依然存在,所以可以排除是JQuery Ajax超時;

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

到了這一步就好辦了,可以知道是httpRuntime超時了,配置Webconfig就可以了,如下圖:

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章