gpt4 book ai didi

c# - 为什么需要对我的数据库进行异步调用?

转载 作者:太空狗 更新时间:2023-10-29 18:31:42 26 4
gpt4 key购买 nike

我编写了一个与 MSSQL 数据库交互的服务器。它目前是用 .NET 4.0 编写的,并使用 NHibernate 作为 ORM 从数据库中检索信息。在阅读有关 .NET 4.5 和 async/await 关键字的介绍时,我了解到,不幸的是,NHibernate does not have support for async/await .

我不明白为什么对数据库发出异步调用会有好处。不是所有的请求都在数据库级别排队吗?异步不会只会增加故障点而不会改进任何东西吗?

最佳答案

一般来说,好处是您不会在运行可能昂贵的(异步)操作时阻塞当前正在执行的线程。在 WPF/Windows 窗体应用程序的上下文中,这意味着您不会阻塞 UI 线程(如果请求源自该线程)并且您的应用程序保持响应。

在 Web 应用程序(例如 IIS)的上下文中,这意味着您在等待结果时释放池中的线程。由于您没有锁定线程,因此可以重复使用它来接受另一个请求,并在接受的连接(不一定是时间/请求)方面产生更好的性能。

关于c# - 为什么需要对我的数据库进行异步调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22307497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com