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