使用方法DownloadString()还是另一个?

时间:2015-04-14 22:11:08

标签: c# json web-services rest soap

我在我的Visual Studio中制作了一个C#程序,并且我有一个按钮,在" Click"假设在Internet上请求.php文件并读取json,rest或soap(不确定哪个是最适合C#的文件)。 我正在使用new WebClient().DownloadString(url);
我的问题是 - 为什么我第一次点击按钮(使用功能)整个程序冻结,之后它没有冻结?
- 如何防止"冷冻效果" ?
- 有更好的方法从网络上检索这些信息吗? - json,休息或肥皂更好吗?

1 个答案:

答案 0 :(得分:1)

  • 为什么我第一次使用该功能整个程序冻结?

您正在连接外部资源,这需要时间,并且您从此资源中消耗内容也需要时间。 DownloadString是一个阻塞任务,您的主应用程序将等待它返回某些内容。

  • 如何防止"冷冻效果" ?

使用WebClient提供的异步方法。 DownloadStringTaskAsync

可以在此处找到文档:https://msdn.microsoft.com/en-us/library/hh194294%28v=vs.110%29.aspx

上一个问题:Webclient calls to DownloadString cause my app to freeze

这就是我所拥有的一切。