码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET MVC 4 异步加载控制器

时间:2016-05-19 13:08:39      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

 ASP.NET 4 Developer preview中的异步操纵器

  在放弃了对.NET 3的支持之后, ASP.NET MVC 4 彻底拥抱了Task类库, 你不需求再蛋疼的给每个Action写两个方法, 也无需傻傻的手动对异步Action计数器增减了(AsyncManager.OutstandingOperations.Increment()), 现在的你只需拿起手指, 轻轻敲几下, 其他的事情都由系统帮你完成.

  

  1. public class PortalController : AsyncController {  
  2. public Task News( stringcity) {  
  3. returnTask.Factory.StartNew(() => RunThread(city)).ContinueWith(t => {  
  4. returnView(newViewStringModel(){Text = t.Result});  
  5. });}  
  6. privatestringRunThread(stringinput){  
  7. Thread.Sleep(5000);  
  8. returninput;}  

  是否好多了?Lamda可以让一切更爽:

  1. public Task News(stringcity) {  
  2. returnTask.Factory.StartNew(() => RunThread(city)).ContinueWith(t => View(newViewStringModel{   
  3. Text = t.Result }));  
  4. }

 

   asp.net mvc 4.0 更简洁的写法 是否好多了?Lamda可以让一切更爽:

       
    public class Default1Controller : AsyncController
    {
        TRSLMS.Data.Models.DataDbContext db = new Data.Models.DataDbContext();
        //
        // GET: /HomePage/Default1/
        public Task<ViewResult> FooBar()
        {

     // StartNew 开始执行 返回action 或则直接返回数据  ContinueWith 结束后返回值
            return Task.Factory.StartNew(() => { return db.USER.ToList(); }).ContinueWith(t =>{return View(t.Result);});
        }
    }

ASP.NET MVC 4 异步加载控制器

标签:

原文地址:http://www.cnblogs.com/louby/p/5508163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!