为了账号安全,请及时绑定邮箱和手机立即绑定

为什么EF 6教程使用异步调用?

为什么EF 6教程使用异步调用?

陪伴而非守候 2019-07-05 15:50:45
为什么EF 6教程使用异步调用?关于如何在MVC 5中使用EF 6的最新EF教程似乎倾向于使用对数据库的ASYCH调用,如下所示:Department department = await db.Departments.FindAsync(id);这是新的标准/最佳做法吗?我不知道用ASP.NETMVC开发这种风格有什么好处。有人能评论这个模式吗,这是微软正在推广的新标准吗?
查看完整描述

3 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

理想情况下,任何涉及等待时间的事情都应该异步完成。数据库查询通常必须调用远程服务器,发送查询,然后等待服务器响应结果。这使得它成为异步的主要候选对象,因为整个“等待服务器响应”部分是应用程序中无法考虑的变量。

在代码等待异步操作完成时,使用异步允许Web服务器重用当前线程以字段其他Web请求。当它完成时,一个线程将返回给您的应用程序以继续处理。如果运行同步,则在等待数据库或其他长时间运行的进程时,线程会死锁,并且Web服务器的池不可用。如果这样做足够,Web服务器可能会耗尽可用的线程,并且必须开始对进一步的请求进行排队。异步通过释放线程来缓解这一点,而线程只是在等待某件事情,从而增加了Web服务器可以处理的潜在负载。


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 945 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信