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

推荐订阅源

博客园 - 叶小钗
雷峰网
雷峰网
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
博客园 - 聂微东
有赞技术团队
有赞技术团队
The Cloudflare Blog
T
Tailwind CSS Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
T
The Blog of Author Tim Ferriss
D
Docker
L
LangChain Blog
Vercel News
Vercel News
C
Check Point Blog
博客园 - Franky
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
人人都是产品经理
人人都是产品经理

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