如何在Windows 2003任务计划程序中为任务创建无限期

时间:2012-05-24 18:00:58

标签: c#-4.0 scheduled-tasks windows-2003-webserver

我正在尝试创建一个无限期的任务。在Windows Server 2008上,如果我没有指定持续时间,则假定持续时间是无限的。但是,在Windows Server 2003上,必须指定持续时间(并且等于或大于间隔)。目前,我只是将任务设置为持续一年,如果它要重复很长时间。

有没有办法在Windows Server 2003上指定无限期?

if (m_TimeInterval.m_Expire.Year < 2099) //xp and win7 max year is 2099
    tTrigger.Repetition.Duration = m_TimeInterval.getDuration();
else if (!newVer) tTrigger.Repetition.Duration = m_TimeInterval.getInterval().Add(TimeSpan.FromDays(365));
tTrigger.Repetition.Interval = m_TimeInterval.getInterval();
tTrigger.Repetition.StopAtDurationEnd = true;

注意:

  • 我正在使用Task Scheduler API添加这些任务定义。
  • 使用TimeSpans设置间隔和持续时间。
  • 由于我正在使用Task Scheduler 1.1而不是1.2或更高版本,因此
  • newVer是错误的
  • tTrigger的类型为TimeTrigger

3 个答案:

答案 0 :(得分:1)

我最终使用1-1-2099作为'无限期'

答案 1 :(得分:1)

You also can use TimeSpan.Zero which makes the task infinite.

Heres a short code snippet to demonstrate how to use it on a Trigger :

Trigger triggerTask = Trigger.CreateTrigger(TaskTriggerType.Time);
triggerTask.StartBoundary = DateTime.Now.AddMinutes(3);
triggerTask.SetRepetition(new TimeSpan(0, 3, 0, 0, 0), TimeSpan.Zero);

答案 2 :(得分:0)

您可以使用Duration.Forever.TimeSpan吗?