一. FrameWork 4.0之前的线程世界
在.NET FrameWork 4.0之前,如果我们使用线程。一般有以下几种方式:
二. .Net 传统异步编程概述
三. Task 的优点以及功能
四. TASK的用法
五. 使用 Task 封装常见的异步编程模式
private async void Init() { //部分代码省略 var orgs = await _serviceClient.GetAllOrganizationTaskAsync(); } //通过WCF调用,采取分布类,名称一样。 public partial class ServiceClient { public Task<ObservableCollection<Organization>> GetAllOrganizationTaskAsync() { //Task 封装APM return Task<ObservableCollection<Organization>>.Factory.FromAsync(this.Channel.BeginGetAllOrganization, this.Channel.EndGetAllOrganization, null); } }
var source = new TaskCompletionSource<string>(); var webClient = new WebClient(); webClient.DownloadStringCompleted += (sender, args) => { if (args.Cancelled) { source.SetCanceled(); return; } if (args.Error != null) { source.SetException(args.Error); return; } source.SetResult(args.Result); }; webClient.DownloadStringAsync(new Uri(UrlToTest, UriKind.Absolute), null); source.Task.Wait(); var result = source.Task.Result;
此博客来自于http://www.cnblogs.com/luqixinhe/archive/2013/07/18/3197645.html,记录时为了更好的学习。
原文地址:http://www.cnblogs.com/jljxxf/p/3863250.html