如何在特定时间运行后台任务?

时间:2015-03-15 00:50:34

标签: c# background-task

我需要每天下午3点运行我的任务,但是后台任务构建器只需要一段时间来重复该任务。 实现这个目标的方法是什么? (Windows 8.1通用应用程序)。

2 个答案:

答案 0 :(得分:0)

查看调度库。

我之前使用过Quartz成功:http://www.quartz-scheduler.net/

否则,如果可行,更简单,更简单的解决方案是让您的流程按照操作系统的预定时间运行。 Windows支持并鼓励scheduling of tasks

答案 1 :(得分:0)

我鼓励您使用常规Windows任务计划程序,如果这确实是您的环境。我告诉你如何做到这一点,但这只是以前回答的重复: Creating Scheduled Tasks

using System;
using Microsoft.Win32.TaskScheduler;

class Program
{
   static void Main(string[] args)
   {
      // Get the service on the local machine
      using (TaskService ts = new TaskService())
      {
         // Create a new task definition and assign properties
         TaskDefinition td = ts.NewTask();
         td.RegistrationInfo.Description = "Does something";

         // Create a trigger that will fire the task at this time every other day
         td.Triggers.Add(new DailyTrigger { DaysInterval = 2 });

         // Create an action that will launch Notepad whenever the trigger fires
         td.Actions.Add(new ExecAction("notepad.exe", "c:\\test.log", null));

         // Register the task in the root folder
         ts.RootFolder.RegisterTaskDefinition(@"Test", td);

         // Remove the task we just created
         ts.RootFolder.DeleteTask("Test");
      }
   }
}