基于异步的MVC webAPI控制器

MVC – Task-based Asynchronous Pattern (TAP) – Async Controller and SessionLess Controller

In async programming, there are 3 different models for different scenarios :

  • Asynchronous Programming Model – APM
  • Task Based Asynchronous Programming Model – TAPM
  • Evented Asynchronous Programming Model – EAPM

We can use all models in .net framework. It provides related libraries in their own namespaces. The Task-based Asynchronous Pattern (TAP) is based on System.Threading.Tasks.Task and System.Threading.Tasks.Task<TResult> types in the System.Threading.Tasks namespaces.

When we’re developing web application, if we need to develop async applications on web side, we can use this libraries to reflect async behavior. For Instance, if we want to communicate external services or channels at the same time, we might use async controller to avoid operation blocks. When we’re reflecting this behavior in an application, We should think tasks in action level. I mean, surely according to our scenario, if we seperate all actions as different tasks, it can be more useful and manageble.

In .Net Framework MVC Applications, We can use Async Controllers and async actions. For instance please check code below :

And also, if you need to run multiple requests concurrently, use SessionLess controller :

AST

 

This entry was posted in .Net FrameworkASP.NetDesign PatternsMVCServer Side Web Programming,Web Programming and tagged asyncasynchronous operationscontrollermvc 5sessionlesstaptask based asynchronous pattern on July 4, 2016.

posted @ 2016-09-07 15:14  特洛伊-Micro  阅读(1419)  评论(0)    收藏  举报