在C#中,什么是HttpClient.getStringAsync()方法的同步替代?

在一个winform中,点击button调用这个方法来下载链接内容作为string,然后在文本框中显示string的长度。 这一切都是asynchronous发生的。 有没有办法做到这一点同步?

Solutions Collecting From Web of "在C#中,什么是HttpClient.getStringAsync()方法的同步替代?"

您可以通过使用.Result来创建任何任务块:

 string response = client.GetStringAsync(...).Result; 

但是,如果这是在UI线程上运行,你不应该这样做。 在UI线程上阻塞并不好。 拥抱异步性。

您可以使用方法WebClient.DownloadString。 这种方法阻止下载资源。

 string response = new WebClient().DownloadString(uri); 

https://msdn.microsoft.com/en-us/library/fhd1f0sw(v=vs.110).aspx

RestSharp是一个很好的开源替代HttpClient。 它支持同步和异步请求。

http://restsharp.org/