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介绍。