gpt4 book ai didi

c# - 在使用 WebClient 期间无法使用当前应用程序

转载 作者:行者123 更新时间:2023-11-30 17:32:51 24 4
gpt4 key购买 nike

我试图在不询问 Windows 应用程序用户的情况下更新一些数据,但是当我尝试下载时,应用程序不可用且控件不可触摸。

代码:

using (WebClient client = new WebClient {Encoding = System.Text.Encoding.UTF8})
{
string url = "http://domain_name.com/api/getSomeData";

res = client.DownloadString(url);
}

最佳答案

这很可能发生,因为您正在 UI 线程上执行代码。当您的 UI 线程繁忙时,它无法发送窗口消息,例如来自鼠标或键盘的输入事件。您的选择是:

  1. 在单独的线程上运行此代码。

  2. 使用异步技术,例如 WebClient.DownloadStringAsync 或 DownloadStringTaskAsync。

其中,选项 #2 是更好的做法。

有关正确使用这两个选项的示例,请参阅这个封闭的“题外话”问题的已接受答案(尽管数字已从我的列表中交换)how to use async and await on a method that is time comsuming

关于c# - 在使用 WebClient 期间无法使用当前应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45508706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com