问题描述:
刚刚开发的一个页面,使用的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版本进行选择。