c# - 制作一个连续运行的 C# 应用程序

标签 c# .net windows rest

我正在编写一个客户端应用程序,它将数据从用户计算机推送到网站。我希望这个应用程序每 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/

相关文章:

c# - 如何制作一个小的帮助对话框?

c# - ServiceStack Backbone.Todos 不允许删除 405

c# - 存储有关 richtextbox 文本的所有信息并重建它 - c# winforms

asp.net - Signal-R 如何适应 IIS 激活模型?

sql-server - Kerberos 双跳

windows - 如何在GO中实现跨平台文件锁定

c# - 注册事件,为什么代码可以编译不报错?

c# - netTCPBinding 配置无法传输小型数据 - 套接字连接已中止

c# - 如何从 TypeSpec 获取 TypeDef

windows - 以管理员身份运行时获取当前登录的用户