我正在编写一个客户端应用程序,它将数据从用户计算机推送到网站。我希望这个应用程序每 60 秒更新一次网站。现在,我的函数被包裹在一个无限 while 循环中,并有 45 秒的 sleep 时间。但是,Windows 表示即使更新网站,应用程序也没有响应。这是我的代码的结构。
最佳答案
您的问题是您的 while 循环阻塞了 UI 线程。要解决此问题,您需要在单独的线程上运行代码。
开始时最简单的方法可能是使用计时器
:
System.Timers.Timer timer = new System.Timers.Timer(45000); // timer will execute every 45 seconds
timer.Elapsed += (sender, e) => {
// your upload code here
};
timer.Start();
不过,您绝对应该在稍后阶段研究线程。也许是一个BackgroundWorker
或任务并行库。
关于c# - 制作一个连续运行的 C# 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17711061/