码迷,mamicode.com
首页 > Windows程序 > 详细

asp.net c#并行调用service层代码

时间:2019-03-11 10:37:02      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:pre   写法   asp   type   sign   mod   col   wget   分页   

        public ActionResult Home(AdviserSearchModel model)
        {
            //顾问列表需要的当前城市的下级地区
            var ip = "117.82.196.195";
            var districts = this.districtService.GetDistrictByIp(ip);
            //顾问列表分页数据
            model.OperatorType = AdviserEnum.FurnitureAdviser;
            var result = this.adviserService.GetPagingData(model);

            return Json(result, JsonRequestBehavior.AllowGet);
        }

我的代码一开始是上面这种写法,因为两次调用service代码都比较耗时,后来想到用多线程。也就是.net为我们封装好的Task类。

修改如下:

        public ActionResult Design(AdviserSearchModel model)
        {
            //顾问列表需要的当前城市的下级地区
            var ip = "117.82.196.195";
            var districtsTask = Task.Run(() => {
                return this.districtService.GetDistrictByIp(ip);
            });
            //顾问列表分页数据
            model.OperatorType = AdviserEnum.DesignAdviser;
            var pagingTask = Task.Run(()=> {
                return this.adviserService.GetPagingData(model);
            });

            var districts = districtsTask.Result;
            var result = pagingTask.Result;

            return Json(result, JsonRequestBehavior.AllowGet);
        }

我的电脑是4核的,所以我相信耗时,应该是那个消耗较长的服务的时间。

asp.net c#并行调用service层代码

标签:pre   写法   asp   type   sign   mod   col   wget   分页   

原文地址:https://www.cnblogs.com/subendong/p/10508914.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!