惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
T
Tailwind CSS Blog
V
Visual Studio Blog
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
量子位
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
Jina AI
Jina AI
雷峰网
雷峰网
博客园 - 【当耐特】
博客园 - 叶小钗
美团技术团队
宝玉的分享
宝玉的分享
IT之家
IT之家

博客园 - 小马过河MJ

Identity Server introspect 调用 /connect/introspect windows forget jenkins password. 转载(Asp.net Core 中试使用ZKWeb.System.Drawing) EFCore & Mysql migration on Production HTML to PDF pechkin Log4net 为MVC 添加下载权限 辞职 MiniProfiler Android Studio 设置LogCat 颜色 运用Swagger 添加WebAPI 文档 给现有MVC 项目添加 WebAPI Summernote 跨域调用WebApi MVC 伪静态 设置EntityFramework 在开发时自动更新数据库 PagedList.MVC 应用 MVC 自定义错误处理 SQL Server 索引结构及其使用(四)[转] SQL Server 索引结构及其使用(三)[转]
async await
小马过河MJ · 2016-02-05 · via 博客园 - 小马过河MJ

1.BookDAL 有一个产生string 的方法

 public string GetTestString()
        {
            string sReturn = "";
            string[] sList = { "a", "b", "c", "d", "e", "f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z" };
            for (int i=1;i<6;i++)
            {
                Thread.Sleep(1000);
                Random r = new Random();
                int n = r.Next(1, 26);
                sReturn += sList[n];
            }
            return sReturn;
        }

2. MVC HomeController Contact 调用, 跑完需要大概20秒

public ActionResult Contact()
        {
            ViewBag.Start = DateTime.Now;

            BookService BookDAL = new BookService();
            string s1 = BookDAL.GetTestString();
            string s2 = BookDAL.GetTestString();
            string s3 = BookDAL.GetTestString();
            string s4 = BookDAL.GetTestString();

            ViewBag.sValue = s1 + "-" + s2 + "-" + s3 + "-" + s4;

            ViewBag.Message = "Your contact page.";

            ViewBag.End = DateTime.Now;
            return View();
        }

3. MVC HomeController About 用async await,. 它跑完需要大概6秒。

   public async Task<ActionResult> About()
        {
            ViewBag.Start = DateTime.Now;

            ViewBag.Message = "Your application description page.";

            BookService BookDAL = new BookService();
var s1 = GetStringAsync(BookDAL); var s2 = GetStringAsync(BookDAL); var s3 = GetStringAsync(BookDAL); var s4 = GetStringAsync(BookDAL); await Task.WhenAll(s1, s2, s3, s4); ViewBag.sValue = s1.Result + "-" + s2.Result + "-" + s3.Result + "-" + s4.Result; ViewBag.End = DateTime.Now; return View(); } public async Task<string> GetStringAsync(BookService BookDAL) { return await Task.Run(() => { return BookDAL.GetTestString(); }); }