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