您的位置:网站首页 > asp源码 > 正文

AspNetCore应用注意这一点CTO会对你刮目相看

类别:asp源码 日期:2019-12-24 14:22:08 人气: 来源:

  已经有很多文章记录了Web程序中采用异步编程的优势和步编程的用法, 异步编程虽然不能解决查询数据库的瓶颈, 但是利用线程切换,能最大限度的弹性利用工作线程, 提高了web服务的响应能力。

  本文要说的是利用异步编程中的取消机制缓解数据库的查询瓶颈,十二生肖排列顺序开发者只需在MVC/WebAPI查询方法体内关注CancellationToken并适时取消异步任务, 这将大大提高应用的响应能力。

  对于Web服务器,用户快速刷新5次,服务器将接受 5倍的工作量,这是因为即使用户刷新了浏览器(或点击停止按钮), 虽然取消了原始浏览器请求,但是Web服务器并不Care,仍然按部就班处理进入HTTP pipeline的请求(MVC/WebAPI 中默认行为,②③场景类似)

  在异步编程中能向任务发出Cancellation信号,停止web服务器后端查询行为。在.NET中,这是使用CancellationToken完成的:

  本文取消的请求,指的是耗时长的服务端读取请求(返回数据但不修改数据的查询),取消已修改数据的请求对于用程序可能不是一个好的选择:

  上述EF的调用api支持取消异步操作,故很容易取消SQL的查询行为;对于自定义的长耗时查询行为,可以使用CancellationToken的原生触发用法:

  以上是后端程序员利用取消机制缓解异步查询瓶颈的操作,从web应用全流程角度思考,这个优化还能提升吗? 🐾

   以上是传统的网页请求场景,在取消请求时,浏览器帮助我们发起了Cancellation信号。

  想想日益常见的SPA程序(单页面程序),绝大部分页面请求都是Ajax请求,你点击应用的另外一个“页面”(JS代码页面),浏览器不会自动取消请求。所以在SPA应用中要前端自己发出取消请求的信号:

  前后端程序猿通力配合,应用的吞吐量和响应能力极大提升,CTO要给各位加薪了。返回搜狐,查看更多

  

关键词:asp网站
0
0
0
0
0
0
0
0
下一篇:没有资料

网友评论 ()条 查看

姓名: 验证码: 看不清楚,换一个

推荐文章更多

热门图文更多

最新文章更多

关于联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助

CopyRight 2002-2012 技术支持 源码吧 FXT All Rights Reserved

赞助合作: