现在 async/await 大行其道,确实,有了 async/await ,异步编程真是简单多了,个人觉得 async/await 的出现,给开发者还来的方便,绝不亚于当年 linq 的出现。
但要使用 async/await ,需要 .net 4.5 。这个版本要求似乎高了一点。但微软发布了开源项目 Microsoft Async ,可以让 .net 4.0 、Silverlight 支持使用 async/await 。
其实 Silverlight 中使用 async/await ,很久以前就有了,之前应该是叫做 "Microsoft.CompilerServices.AsyncTargetingPack"。但我现在无法找到 这个安装包了,经过一番搜索,找到的是 Microsoft Async ,
网址: http://www.nuget.org/packages/Microsoft.Bcl.Async/
最近更新是 2014年的,应该算是一直在维护。
可以使用 程序包管理控制台命令安装,也可以使用 "管理Nuget程序包" 对话框搜索 Microsoft.Bcl.Async 进行安装
安装后可像 .net 4.5 这样使用 async/await 。如:
WebClient wc = new WebClient(); var str = await wc.DownloadStringTaskAsync("http://www.baidu.com");