【问题标题】:WPF application that does job in the background在后台执行工作的 WPF 应用程序
【发布时间】:2015-02-27 23:15:22
【问题描述】:

我想构建一个 WPF 应用程序,每分钟记录用户的电池电量。我当然希望我的应用程序具有用户界面。开发一个在后台运行并将当前电池电量保存在文本文件中的控制台应用程序是否可以?稍后,当用户想要查看数据并打开 WPF 应用程序时,它可以从该文本文件中读取数据。这是一个好的做法还是有更好的方法?

【问题讨论】:

  • 使用 .NET 任务异步模式有一个 much 更好的方法,尽管对于初学者来说学习曲线相当陡峭。你可以从这里开始:msdn.microsoft.com/en-us/library/…
  • 为什么还需要一个应用程序? Perfmon 将为您做到这一点maketecheasier.com/…
  • @Paolo,我想练习一下。
  • 使用 DispatcherTimer。

标签: c# wpf


【解决方案1】:

您真的需要“在后台”获取电池电量吗?通常,只有当您有一个长时间运行的任务会导致 UI“挂起”而影响用户体验时,您才需要执行后台操作。

使用 .NET 任务异步模式有一个很多更好的方法,尽管它对于初学者来说是一个相当陡峭的学习曲线。您可以从这里开始:https://msdn.microsoft.com/en-us/library/hh873177%28v=vs.110%29.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1。基本上,您可以将任何长时间运行的操作卸载到等待任务中,以便您的 UI 在整个操作过程中保持响应。

我仍然觉得获取电池电量不会是一个会影响 UI 的冗长操作。在这种情况下,您可以通过每分钟运行的timer 来完成您想要的操作。

【讨论】:

  • 谢谢!看起来计时器将是最好的选择。当用户最小化窗口时,它会转到通知区域框,并且仍然每分钟执行一次操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多