讲到WP8中使用Async执行HTTP请求,用了微软提供的扩展。下面提供了一种方法,自己实现HttpWebRequest的扩展。
随后就可以使用 await HttpWebRequest.GetResponseAsync() 轻松使用http请求了。
public static class WebRequestExtensions { public async static TaskGetResponseAsync(this HttpWebRequest request) { return await Task .Factory.FromAsync(request.BeginGetResponse, request.EndGetResponse, request); } public async static Task GetRequestStreamAsync(this HttpWebRequest request) { return await Task .Factory.FromAsync(request.BeginGetRequestStream, request.EndGetRequestStream, request); } }
原文