2012-05-24 50 views
1

我試圖創建任務的時間不確定。在Windows Server 2008上,如果我沒有指定持續時間,則認爲持續時間是無限的。但是,在Windows Server 2003上,必須指定持續時間(並且等於或大於間隔)。目前,如果要重複很長時間,我只是將任務設置爲一年。如何在Windows 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; 

注:

  • 我使用任務計劃程序API添加這些任務定義。
  • 通過使用TimeSpans設置間隔和持續時間。
  • newVer是假的,因爲我有任務計劃1.1的工作,而不是1.2或更高
  • tTrigger的類型是TimeTrigger
+0

怎麼樣建立一個獨立的計劃任務,其唯一目的是停止和重新啓動你想有一個無限期的任務,有效地重置持續時間? –

+0

這是一種可能的解決方法,謝謝。儘管停止和啓動任務不會更新定義年份的原始時間範圍,因此它必須刪除並重新創建任務。 – PAULDAWG

回答

0

最後我用2099年1月1日爲「無限期」

+1

System.Threading.Timeout.InfiniteTimeSpan –

0

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

+0

描述對錢來說是正確的,但它看起來像是一個WPF基本元素類。服務主要是控制檯應用程序 – PAULDAWG

1

您還可以使用TimeSpan.Zero這使得任務無限。

繼承人短代碼片段演示瞭如何使用它在觸發:

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