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

推荐订阅源

T
The Blog of Author Tim Ferriss
罗磊的独立博客
月光博客
月光博客
GbyAI
GbyAI
腾讯CDC
G
Google Developers Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
C
Check Point Blog
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
雷峰网
雷峰网
B
Blog RSS Feed
美团技术团队
M
MIT News - Artificial intelligence
有赞技术团队
有赞技术团队
D
Docker

博客园 - 小马过河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(); }); }