C# 为什么对Azure表存储使用异步方法?

C# 为什么对Azure表存储使用异步方法?,c#,azure,asynchronous,azure-storage,C#,Azure,Asynchronous,Azure Storage,我正在使用Microsoft.WindowsAzure.Storage.Table,无法找出异步方法和常规方法之间的区别,例如CloudTable.Execute和CloudTable.ExecuteAsync。何时以及为什么我应该使用它们?这是否与存储设计和我正在使用的模块有关,或者我是否误解了我对c和Azure不熟悉的异步方法的概念 编辑:如果我应该始终使用异步方法,为什么在大多数Azure表存储指南中实现、提供并使用常规方法 提前谢谢 基本上,当使用CloudTable.ExecuteAs

我正在使用Microsoft.WindowsAzure.Storage.Table,无法找出异步方法和常规方法之间的区别,例如CloudTable.Execute和CloudTable.ExecuteAsync。何时以及为什么我应该使用它们?这是否与存储设计和我正在使用的模块有关,或者我是否误解了我对c和Azure不熟悉的异步方法的概念

编辑:如果我应该始终使用异步方法,为什么在大多数Azure表存储指南中实现、提供并使用常规方法


提前谢谢

基本上,当使用CloudTable.ExecuteAsync时,编译器会在后台生成一个状态机,因此您可以避免性能瓶颈并增强应用程序的整体响应能力。

应该使用的不仅仅是表存储,还应该使用实现异步操作的任何服务。我们使用async卸载主线程并在后台转移任务。当后台任务完成时,主线程准备接受更多请求。一旦完成,它将把控件带回主线程。若你们不使用异步,你们会遇到一个叫做资源匮乏的问题,你们的请求池开始增长,最终你们的应用程序会挂断

查看下面的链接并进行详细解释。

异步方法可以异步执行,您可以避免使用它们阻塞应用程序。看,谢谢,这本指南很有帮助。但我不确定我是否得到了它。。。通过阅读,我的结论是,始终使用异步方法。但是,为什么要实现和使用常规方法,而且在大多数Azure表存储指南中都要使用这些方法呢?这取决于您遇到的场景以及您在这种情况下是否真的需要异步方法。当我只有一个控制台应用程序来导入一个结构时,我不会使用异步方法,因为我不会从中受益。当我有一个桌面应用程序forms/wpf时,我会使用异步方法来避免冻结UI或阻塞线程,这可能会导致应用程序滞后