你的位置:首页 > 软件开发 > ASP.net > 使用异步编程

使用异步编程

发布时间:2016-02-11 14:00:05
转发至:http://www.ituring.com.cn/article/130823导言现代的应用程序面临着诸多的挑战,如何构建具有可伸缩性和高性能的应用成为越来越多软件开发者思考的问题。随着应用规模的不断增大,业务复杂性的增长以及实时处理需求的增加,开发者不断尝试榨取硬件资 ...

转发至:http://www.ituring.com.cn/article/130823

导言

现代的应用程序面临着诸多的挑战,如何构建具有可伸缩性和高性能的应用成为越来越多软件开发者思考的问题。随着应用规模的不断增大,业务复杂性的增长以及实时处理需求的增加,开发者不断尝试榨取硬件资源、优化

在不断的探索中,出现了很多简化场景的工具,比如提供可伸缩计算资源的Amazon S3、Windows Azure,针对大数据的数据挖掘工具MapReduce,各种CDN服务,云存储服务等等。还有很多的工程实践例如敏捷、DDD等提供了指导。可以看到,将每个关注层面以服务的方式提供,成为了越来越流行的一种模式,或许我们可以激进的认为,这就是SOA。

开发者需要将不同的资源粘合在一起来提供最终的应用,这就需要协调不同的资源。

我们可以设想一个大的场景,开发者正在开发的一个用例会从用户的浏览器接收到请求,该请求会先从一个开放主机服务(OHS)获取必要的资源res1,然后调用本机的服务s1对资源res1进行适应的转换产生资源res2,接着以res2为参数调用远程的数据仓库服务rs1获取业务数据bs1,最后以bs1为参数调用本机的计算服务calc并经过10s产生最终的数据。

简单的用get='_blank'>ASP.NET MVC 5表示就是这样的(这些代码是我瞎掰的):

// notes: ASP.NET vNext changed MVC 5 usage, // ActionResult now became IActionResultpublic IActionResult CrazyCase(UserData userData) {  var ticket = CrazyApplication.Ticket;  var ohsFactory = new OpenHostServiceFactory(ticket);  var ohs = ohsFactory.CreateService();  var ohsAdapter = new OhsAdapter(userData);  var rs1 = ohs.RetrieveResource(ohsAdapter);  var rs2 = _localConvertingService.Unitize(rs1);  var bs1 = _remoteRepository.LoadBusinessData(rs2);  var result = _calculationService.DoCalculation(bs1);  return View(result);}

原标题:使用异步编程

关键词:异步

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。