SQLite 不是异步的,公开的 Microsoft.Data.Sqlite ADO.net*Async
方法在后台同步实现。
我的问题:您将如何在 asp.net core 5 API 项目中使用 SQLite,该项目可以受益于异步代码,以及 async/await 关键字来协调它?
我看到两个选项
- 使用“假”
*Async
方法,并失去了接触数据库的代码部分的异步代码的好处。如果我理解正确,在 .net 核心中阻塞线程不会导致死锁(https://blog.stephencleary.com/2017/03/aspnetcore-synchronization-context.html)。如果我理解正确,这就像在线程池线程上执行的同步代码一样,会增加 async/await 机器的开销。 - 只写同步代码,失去部分代码的好处
你认为哪一个会更好?
谢谢!