WP8中使用async/await扩展HttpWebRequest

时间:2023-03-10 01:42:34
WP8中使用async/await扩展HttpWebRequest

前文讲到WP8中使用Async执行HTTP请求,用了微软提供的扩展。下面提供了一种方法,自己实现HttpWebRequest的扩展。

随后就可以使用 await HttpWebRequest.GetResponseAsync() 轻松使用http请求了。

    public static class WebRequestExtensions
{
public async static Task<WebResponse> GetResponseAsync(this HttpWebRequest request)
{
return await Task<WebResponse>.Factory.FromAsync(request.BeginGetResponse, request.EndGetResponse, request);
} public async static Task<Stream> GetRequestStreamAsync(this HttpWebRequest request)
{
return await Task<Stream>.Factory.FromAsync(request.BeginGetRequestStream, request.EndGetRequestStream, request);
}
}

原文http://blog.liubaicai.com/?p=280