DownloadFileAsync和DownloadFileTaskAsync有什么区别?
什么时候应该使用一个而不是另一个?任何示例将不胜感激。

最佳答案

常规模式-如果找到名称以xxxAsyncxxxTaskAsync结尾的两个方法,则通常应首选Task版本。

这两个版本将存在,因为xxxAsync版本是在引入Task-based Async Pattern(TAP)之前创建的,并且将基于较旧的异步模式。

引入TAP方法时,通常的建议是使用Async作为名称的后缀-但是,当已经有另一个具有相同名称的方法时,则不能这样做1-因此,建议使用TaskAsync作为后缀。

在这种特定情况下,DownloadFileAsync"Event-based Async Pattern"(EAP)的实现,使用它往往比较笨拙。该模式本身取代了.NET Framework中的原始异步模式,该模式基于匹配BeginEnd前缀方法以及IAsyncResultAsync Programming Model



1通常,当然,您可以引入多个具有相同名称的方法,只要它们具有不同的签名即可。但是当涉及到异步模式时,EAP异步方法和TAP异步方法通常会采用相同的参数-它们的返回类型只会有所不同。即使它们的论点确实有所不同,将这两种模式使用完全相同的名称也可能会引起更多的混乱。

08-18 11:41