问题1,async/await + Task.Run 与 async/await一路到底(或者说从下至上)有什么区别?
   static void Main(string[] args)
        {
            DoSomeThingAsync();
            Console.ReadLine();
        }        static async void DoSomeThingAsync()
        {            var users = await Task.Run(() =>
            {                return GetList("aa");
            });            //输出
            users.ForEach(u => {
                Console.WriteLine(u.NickName);
            });
        }        static List<User> GetList(string name)
        {            //Thread.Sleep(2000);
            var result= new List<User>() {                new User() {
                    NickName="aaa1"
                },                new User() {
                    NickName="aaa2"
                },
            };            return result;
        }在我看来async/await + Task.Run或许更好,假如我的api项目是分了很多层,有interface,service,common等等... 用async/await + Task.Run的方式我只需在controller,async action,Task.Run(),而不需要去从上至下都改成async/await。


问题2,web api本来就是多线程了,为什么还要使用async/await
凤凰求蛊
					慕无忌1623718
随时随地看视频慕课网APP
相关分类