适用于 .NET 的 Amazon 异步 API - Amazon SDK for .NET
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

是否要将 .NET 应用程序部署到Amazon通过几个简单点击即可? 尝试我们的新.NET CLI 工具为了简化部署体验!阅读我们的博客帖子然后提交反馈GitHub

有关更多信息,请参阅部署工具

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

适用于 .NET 的 Amazon 异步 API

这些区域有:Amazon SDK for .NET使用使用基于任务的异步模式 (TAP)用于其异步实现。如需了解有关 TAP 的详细信息,请参阅基于任务的异步模式 (TAP)在医生。微软网上。

本主题概述如何将 TAP 用于Amazon服务客户端。

中的异步方法Amazon SDK for .NETAPI 是基于Task类或Task<TResult>类。有关这些课程的信息,请参阅文档。任务类任务 <TResult> 类.

当在代码中调用这些 API 方法时,它们必须在使用async关键字,如以下示例所示。

static async Task Main(string[] args) { ... // Call the function that contains the asynchronous API method. // Could also call the asynchronous API method directly from Main // because Main is declared async var response = await ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Buckets.Count}"); ... } // Async method to get a list of Amazon S3 buckets. private static async Task<ListBucketsResponse> ListBucketsAsync() { ... var response = await s3Client.ListBucketsAsync(); return response; }

如前面的代码片段所示,async声明是Mainfunction. 设置此async范围确保所有对Amazon服务客户端必须是异步的。如果您无法声明Main由于某种原因是异步的,您可以使用async关键字上的函数,而不是Main,然后从那里调用 API 方法,如以下示例所示。

static void Main(string[] args) { ... Task<ListBucketsResponse> response = ListBucketsAsync(); Console.WriteLine($"Number of buckets: {response.Result.Buckets.Count}"); ... } // Async method to get a list of Amazon S3 buckets. private static async Task<ListBucketsResponse> ListBucketsAsync() { ... var response = await s3Client.ListBucketsAsync(); return response; }

请注意,特殊Task<>语法中需要的Main当你使用这种模式时。此外,您必须使用Result成员来获取数据。

您可以看到异步调用的完整示例Amazon服务客户端快速启动部分 (简单跨平台应用程序基于 Windows 的简单应用程序)和使用Amazon服务.