HttpClient中异步方法的同步调用

在System.Net.Http中,提供了使用Http与远程服务器通讯的httpClient,但是里面都是异步方法,有时候我们并不需要使用异步操作。这个时候可以使用如下的方式来进行同步调用。

 class Program
    {
        static void Main(string[] args)
        {
            string _address = "http://api.worldbank.org/countries?format=json";
            // Create an HttpClient instance  
            HttpClient client = new HttpClient();

            //远程获取数据
            var task = client.GetAsync(_address);
            var rep = task.Result;//在这里会等待task返回。

            //读取响应内容
            var task2 = rep.Content.ReadAsStringAsync();
            var ret = task2.Result;//在这里会等待task返回。
            Console.WriteLine(ret);

            Console.WriteLine("Hit ENTER to exit...");
            Console.ReadLine();
        }
    }

  不阻塞主线程的异步操作,可以参考:HttpClient介绍

  

posted @ 2016-04-10 19:39  kavensu  阅读(4708)  评论(0编辑  收藏  举报