問題描述:
剛剛開發的一個頁面,使用的NET的MVC4.5框架,因為頁面數據加載慢需要優化,頁面上有8個請求,但是請求並沒有什么相互依賴的關系。前端使用ajax異步,但是后台並沒有按照異步程序處理。解決后台程序也是異步處理。
方案1:在控制器上添加注解
[SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)]
優點: 該方法是對整個控制器的Session進行限制。只需要在最上面控制器添加即可,配合前台使用異步。
缺點:如果有方法需要使用Session,則無法使用。
方案2:使用異步控制器。
注:在mvc的開發過程中,有時候我們會需要在action中調用異步方法,這個時候會需要做一些特殊處理。我們會使用到await和async。對應的controller也應該是async的。
在MVC4中直接可以使用await和async,而MVC3中需要繼承AsyncController,才可以使用。 --------------------- 作者:zaichuanguanshui 來源:CSDN 原文:https://blog.csdn.net/zaichuanguanshui/article/details/54964052?utm_source=copy
使用示例如上,async 和await 需要配合使用,效果和方案一相同。
優點:使用方便,可以直接設置到具體的Action上,不受Session的限制。
缺點:需要根據不同的Mvc版本進行選擇。