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

推荐订阅源

D
Docker
F
Fortinet All Blogs
爱范儿
爱范儿
博客园 - Franky
MyScale Blog
MyScale Blog
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
B
Blog
P
Proofpoint News Feed
IT之家
IT之家
宝玉的分享
宝玉的分享
D
DataBreaches.Net
S
SegmentFault 最新的问题
Microsoft Azure Blog
Microsoft Azure Blog
GbyAI
GbyAI
M
MIT News - Artificial intelligence
L
LangChain Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
量子位
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

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