我正在使用属于Windows Azure Caching Nuget包的DataCache API,我想知道为什么没有办法对组成方法进行非阻塞调用。我错过了什么吗?据我所知,这些调用的延迟会很低,但它仍然是网络调用 - 如果您没有使用本地缓存设置。
建议,想法?
谢谢!
答案 0 :(得分:0)
如果你想理解为什么这个库是这样的话,那么我会读取this article来揭示同步方法的异步包装器。 TL:DR;想要做异步,可伸缩性和响应性有两个不同的原因。你真的只需要一个方法的异步版本,如果它可以帮助前者,后者你可以留给你的API的消费者,因为它很容易。
编辑:似乎人们在这个答案中错过了我的意图,所以我会尝试添加更多的说明。是的,缓存客户端可以进行网络呼叫,MS正在尝试让所有人以非阻塞方式进行所有网络呼叫,以便应用程序保持响应。然而,这是一个缓存,它的设计非常快。如果您向缓存发出请求且该项目不在本地缓存中(according to Scott Guthrie),则响应应该花费1毫秒。鉴于响应非常快(如果你使用本地缓存它会更快),他们可能会通过创建在后台运行它的任务来增加更多的开销。