我需要使用一个可以访问其自身数据库的库。不幸的是,所有方法都是经典的同步方法。我更喜欢使用 async
方法来卸载 IO 负载,就像我们已经拥有的 SQL Server 一样。
我知道这是一个非常笼统的问题,没有太多具体信息。有什么方法可以达到那个点,还是太糟糕了?
示例和/或链接将不胜感激。
最佳答案
如果您正在使用的库中有某种形式的异步 API,您可以使用它来制造 async
API 与 TaskCompletionSource<T>
.可以是BeginX
/EndX
, DoX
用XCompleted
事件或任何其他形式。
如果不存在类似的东西,您就无法创建真正的异步重载。您可以将这些同步调用卸载到 ThreadPool
线程使用 Task.Run
但这只会有助于提高响应速度,而不会以任何方式提高性能。
关于c# - 如何在 C# 中围绕第三方 IO 库编写异步包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27843165/