【问题标题】:Schedule time logic (TimeTrigger) for specific time of day为一天中的特定时间安排时间逻辑 (TimeTrigger)
【发布时间】:2014-05-08 00:13:14
【问题描述】:

我正在开发 Windows Phone 应用程序,我正在实现一个后台任务计时器触发器,该触发器应根据以下选项触发,

  1. 每小时
  2. 白天(上午 9 点 - 下午 5 点)
  3. 夜间(下午 5 点至上午 9 点)

RegisterBackgroundTask() 函数通常需要指定触发器何时启动的时间。对于上述选项,最好的方法是什么?

我将它设置为 60 分钟的第一个选项。白天和晚上让我有点困惑。

实现这一点的最佳做法是什么?

【问题讨论】:

  • 那么,什么是“夜晚”,什么是“白天”?
  • 我现在已经在问题中添加了细节。谢谢。

标签: c# timer background windows-runtime windows-phone


【解决方案1】:

只需让您的代码每小时运行一次,然后在触发时检查它是否“在夜间”(大概您不希望它执行任何操作),如果是,则不执行任何操作。

【讨论】:

    【解决方案2】:

    找到了一种方法来做到这一点。

    在白天,我让后台任务每 15 分钟运行一次,并检查当前时间是否在上午 9 点到下午 5 点之间,如果是,则同步,否则退出并等待。

    对于夜间,我让后台任务每 15 分钟运行一次,它会检查当前时间是否在下午 5 点到上午 9 点之间,如果是,则同步,否则退出并等待。

    一旦同步完成,我会将最后一次同步的时间存储在一个存储变量中,并且每分钟检查一次甚至最后一次同步时间,以查看其是否大于 24 年以进行后续同步。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-01
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      • 2015-05-09
      相关资源
      最近更新 更多