繁体   English   中英

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

[英]In C#, what is a synchronous alternate for HttpClient.getStringAsync() method?

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

您只需使用.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 的一个很好的开源替代品。 它支持同步和异步请求。

https://restsharp.dev/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM