当前位置:首页 >Windows Phone > 正文内容

await Request

大滑稽10年前 (2014-11-18)Windows Phone1260

    由于WP上对HTTP的请求都采用异步的方式,以下代码可以把它变成同步可等待的方式

   

    public static string GetContentFromURL(string url)
    {
        var task = GetResult(url);  
        return task.Result;
    }
    private static Task<string> GetResult(string url)
    {
        url = url.Replace("http://","");
        url = "http://" + url;
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "GET";
        request.UserAgent = "Mozilla/5.0 (Linux; U; Android 4.0.3; de-ch; HTC Sensation Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30";
        Task<WebResponse> task = Task.Factory.FromAsync(
                request.BeginGetResponse, asyncResult => request.EndGetResponse(asyncResult), (object)null
            );
        return task.ContinueWith(t => ReadStreamFromResponse(t.Result));
    }
    private static string ReadStreamFromResponse(WebResponse response)
    {
        using (Stream responseStream = response.GetResponseStream())
        using (StreamReader sr = new StreamReader(responseStream))
        {
            //Need to return this response 
            string strContent = sr.ReadToEnd();
            return strContent;
        }
    }


扫描二维码推送至手机访问。

版权声明:本文由第★一★次发布,如需转载请注明出处。

本文链接:https://wpers.net/post/30.html

“await Request” 的相关文章

WebBrowser的NavigateToString中文乱码问题

方法一public static string ConvertExtendedASCII(string HTML){            ...