zoukankan      html  css  js  c++  java
  • MVC4 Action 两种异步方式

    1. xxxAsync/xxxCompleted 组合方式异步,xxxCompleted  就是他的回调函数,在执行完 xxxAsync 后调用xxxCompleted  。

      使用 异步方式必须继承AsyncController 控制器:

          Async 异步方式通过 Controller的属性 AsyncManager 进行赋值 回调,看下面代码: 

        public class AppController : AsyncController
        {
            public void ArticleAsync(string name)
            {
                AsyncManager.OutstandingOperations.Increment();
                Task.Factory.StartNew(() =>
                {
                    AsyncManager.Parameters["content"] = "hello world"; 
                    AsyncManager.OutstandingOperations.Decrement();
                });
            }
    
            public ActionResult ArticleCompleted(string content)
            {
                return Content(content);
            }
        }

    2.Task返回值。

       采用第一种方式异步我们需要为一个Action实现两个方法, 所以在MVC4中 定义了一个返回值类型为Task的异步方法。

       对于回调内容的显示通过调用Task的ContinueWith<ActionResult> 方法进行注册

       public Task<ActionResult> ArticleTask(string name)
            {
                  return Task.Factory.StartNew(() =>
                  {
                      AsyncManager.Parameters["content"] = "hello world";
                  }).ContinueWith<ActionResult>(task =>
                  {
                      string context = (string)AsyncManager.Parameters["content"];
    
                      return Content(context);
                  });
            }
  • 相关阅读:
    杭电OJ 输入输出练习汇总
    七月读书笔记
    情报分析报告阅读笔记
    情报研究与分析入门阅读笔记
    旁观者攻击
    域前置技术相关学习
    CC攻击和C2的区别
    DNS投毒学习分析总结
    数字证书2.0版本学习总结
    《在树洞里》-感悟
  • 原文地址:https://www.cnblogs.com/dragon-L/p/5256406.html
Copyright © 2011-2022 走看看