博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET MVC 4 异步加载控制器
阅读量:4557 次
发布时间:2019-06-08

本文共 1109 字,大约阅读时间需要 3 分钟。

 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);});
        }
    }

转载于:https://www.cnblogs.com/louby/p/5508163.html

你可能感兴趣的文章
爱情故事:追忆似水流年 回味永恒的爱恋
查看>>
android mvn android:deploy签名问题
查看>>
transient
查看>>
[HDU 4348]To the moon
查看>>
初识【Windows API】--文本去重
查看>>
[转]IOS多线程
查看>>
详解spl_autoload_register() 与 __autoload
查看>>
Axure RP Extension for Chrome安装
查看>>
day_10
查看>>
ArcGIS API for JavaScript 入门教程[6] 再讲数据——Map类之可操作图层
查看>>
tfs2012 的体验地址
查看>>
打造专业外观-九宫图
查看>>
让discuz论坛单独版块贴子侧边栏(用户信息栏)关闭的修改办法
查看>>
倒计时
查看>>
Robolectric
查看>>
搜索引擎之全文搜索算法功能实现(基于Lucene)
查看>>
XShell远程连接本地虚机
查看>>
好吧,又失眠
查看>>
一个不错的cv个人主页
查看>>
20159206《网络攻防实践》第十二周学习总结
查看>>