zoukankan      html  css  js  c++  java
  • ASP.NET MVC 4 异步加载控制器

     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 Core 1.0 Key Features
    #asp.net core mvc 的视图注入
    # asp.net core 1.0 项目结构
    dotnet core 初试两个小问题解决
    1044 火星数字(20 分)
    1043 输出PATest(20 分)
    1042 字符统计(20 分)
    1041 考试座位号(15 分)
    1040 有几个PAT(25 分)
    1039 到底买不买(20 分)
  • 原文地址:https://www.cnblogs.com/louby/p/5508163.html
Copyright © 2011-2022 走看看