【发布时间】:2012-05-24 18:00:57
【问题描述】:
我正在尝试创建无限期的任务。在 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 类型
【问题讨论】:
-
如何创建一个单独的计划任务,其唯一目的是停止和重新启动您想要无限期持续的任务,有效地重置持续时间?
-
这是一种可能的解决方法,谢谢。虽然,停止和启动任务不会更新定义的一年的原始时间跨度,因此它必须删除并重新创建任务。
标签: c#-4.0 scheduled-tasks windows-2003-webserver