我正在使用Microsoft.WindowsAzure.Storage.Table
,无法弄清异步方法和常规方法(例如CloudTable.Execute
和CloudTable.ExecuteAsync
)之间的区别。我何时,为什么要使用它们中的每一个?这是否甚至与存储设计和我正在使用的模块有关,还是我误解了异步方法的概念(我是C#和Azure的新手)?
编辑:如果我应该始终使用异步方法,那么为什么大多数Azure表存储指南中都实现,可用了常规方法,并且使用了常规方法?
谢谢!
答案 0 :(得分:1)
基本上,在使用CloudTable.ExecuteAsync时,编译器会在后台生成状态机,因此您可以避免性能瓶颈并增强应用程序的整体响应能力。
答案 1 :(得分:0)
不仅要使用表存储,还应该使用实现异步操作的任何服务。我们使用异步来卸载主线程并在后台转移任务。当后台任务完成时,主线程准备接受更多请求。一旦完成,它将把控制带回到主线程。如果不使用异步,则会出现信息资源匮乏的信息问题,请求池开始增长,最终应用程序挂起。
查看以下链接,并对其进行详细说明。 Synchronous I/O antipattern