2

我正在尝试创建无限期的任务。在 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 添加这些任务定义。
  • 使用 TimeSpan 设置间隔和持续时间。
  • newVer是错误的,因为我使用的是 Task Scheduler 1.1 而不是 1.2 或更高版本
  • tTrigger属于 TimeTrigger 类型
4

3 回答 3

1

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

于 2014-07-30T20:50:21.537 回答
1

您也可以使用TimeSpan.Zerowhich 使任务无限。

下面是一个简短的代码片段来演示如何在 Trigger 上使用它:

Trigger triggerTask = Trigger.CreateTrigger(TaskTriggerType.Time);
triggerTask.StartBoundary = DateTime.Now.AddMinutes(3);
triggerTask.SetRepetition(new TimeSpan(0, 3, 0, 0, 0), TimeSpan.Zero);
于 2015-11-12T10:54:49.663 回答
0

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

于 2012-06-08T22:42:39.753 回答