是否有使用新的async/await功能编写.NET API的指南

Isa*_*avo 7 .net c# api naming-conventions async-ctp

我目前正在设计一些内部API,我使用Async CTP及其新await/ async关键字.

是否有关于如何设计这些API的指南或最佳实践?

特别:

  • 我应该提供同步和异步版本的方法吗?(即Task DoStuffAsync() void DoStuff()
  • 我公开的所有异步方法都应该是在表单中async Task<T> GetStuffAsync()(即方法名称的结尾Async)还是可以让某些名称 GetStuff()等待?

我明白这里不是全黑或白,而是取决于所讨论的方法,但我正在寻找一般指导方针.

Han*_*ant 9

很难找到掘金,大多数出版物都专注于客户编程方面.好东西是:

  • 一篇名为"基于任务的异步模式"的白皮书.下载在这里(注意:今天上午回复缓慢).
  • Stephen Toub在Windows Build上做了一个演讲,讨论了优化模式,许多重要提示.还有一个视频,也可以打印.

请记住这是全部预览,重要细节可能会在此之前发生变化.