MVC項目中ExecutionTimeout不生效的解決方案


 

我們做web服務器端開發時,經常會遇到一個需求場景,因為某些耗時處理造成頁面的響應處理時間超長,技術角度就想能否給頁面處理程序一個指定的超時時間,服務端處理程序執行時間超過這個指定的超時時間則中斷處理,直接返回響應,以防止服務器端宿主的吞吐隊列堆積,造成全站癱瘓。

 

asp.net中,有這么一個方便的東西,他就是ExecutionTimeout 。

相關背景

ExecutionTimeout 屬性指示在請求被 ASP.NET 自動關閉前允許執行的最大秒數。 默認值為 110 秒。 只有當 <compilation> 元素中的調試特性設置為 false 時,此超時屬性才適用。

如果超時過期,則引發異常。 您可以在事件日志的 Application 文件夾中記錄相關的信息。 通過在<healthMonitoring> 配置元素中啟用應用程序狀況監視來執行此操作。

經測試驗證發現:
ASP.NET Webform項目的中ExecutionTimeout 生效。
ASP.NET MVC3中項目中中ExecutionTimeout 不生效。

 

MVC項目讓ExecutionTimeout 生效的解決方案

web.config
 
目前只在最終頁請求處理controller里落地,未來可以放到basecontroller里
 

相關資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM