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

时间:2016-03-06 19:32:55

标签: c# .net windows

在winform中,单击按钮会调用此方法将链接内容下载为字符串,然后在文本框中显示字符串长度。这一切都是异步发生的。有同步方法吗?

3 个答案:

答案 0 :(得分:14)

您可以通过.Result

进行任何任务阻止
string response = client.GetStringAsync(...).Result;

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

答案 1 :(得分:6)

您可以使用WebClient.DownloadString方法。下载资源时此方法会阻塞。

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

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

答案 2 :(得分:2)

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

http://restsharp.org/