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

 

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

 

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

相關背景

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

若是超時過時,則引起異常。 您能夠在事件日誌的 Application 文件夾中記錄相關的信息。 經過在<healthMonitoring> 配置元素中啓用應用程序情況監視來執行此操做。框架

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

 

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

web.config
 
目前只在最終頁請求處理controller裏落地,將來能夠放到basecontroller裏
 

相關資料

相關文章
相關標籤/搜索