WP 8ではasync/awaitを使ってHttpWebRequestを拡張します.

1701 ワード

前の文は、WP 8でAsyncを使ってHTTP要求を実行し、マイクロソフトが提供する拡張機能を使ったと述べた.以下はHttpWebRequestの拡張を自分で実現する方法を提供する.
あとでawaitが使えます. httpWebRequest.GetReponseAsync()が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