C# Windows TaskScheduler DailyTrigger运行的持续时间为

C# Windows TaskScheduler DailyTrigger运行的持续时间为,c#,windows-task-scheduler,C#,Windows Task Scheduler,我正在使用Microsoft.Win32.TaskScheduler.DailyTrigger为Windows中的任务创建触发器,该触发器每天早上8点运行。该任务每小时重复一次,但我希望它在10小时后停止,直到第二天再次启动 在Windows任务计划程序应用程序中,在触发器下有类似“每1小时重复一次任务,持续10小时”的内容 我可以每小时重复一次任务,但我找不到一种方法来“持续一段时间”。这是到目前为止我必须设置触发器的代码,startTime是一个日期时间,设置为今天上午8点 var dail

我正在使用Microsoft.Win32.TaskScheduler.DailyTrigger为Windows中的任务创建触发器,该触发器每天早上8点运行。该任务每小时重复一次,但我希望它在10小时后停止,直到第二天再次启动

在Windows任务计划程序应用程序中,在触发器下有类似“每1小时重复一次任务,持续10小时”的内容

我可以每小时重复一次任务,但我找不到一种方法来“持续一段时间”。这是到目前为止我必须设置触发器的代码,startTime是一个日期时间,设置为今天上午8点

var dailyTrigger = new DailyTrigger();
dailyTrigger.Repetition.Interval = TimeSpan.FromHours(1);
dailyTrigger.StartBoundary = startTime;
dailyTrigger.ExecutionTimeLimit = TimeSpan.FromMinutes(59);

我可以用多个触发器来完成,但我在想,如果应用程序接口允许,可能有一种方法可以在代码中完成。

编辑:我注意到下面是一个不同的类,OP可能是下载的。下面的内容仍然适用,只是
重复.Interval
重复.Duration

// Set the time in between each repetition of the task after it starts to 30 minutes.
tt.Repetition.Interval = TimeSpan.FromMinutes(60); // Default is TimeSpan.Zero (or never)
// Set the time the task will repeat to 1 day.
tt.Repetition.Duration = TimeSpan.FromDays(1); // Default is TimeSpan.Zero (or never)

间隔分钟数

获取或设置要重复运行的任务的执行间隔分钟数

[……]

任务将继续重复运行,直到中指定的间隔 DurationMinutes属性过期。间隔分钟值为 从上一次执行开始计算。

IntervalMinutes值必须小于DurationMinutes值

持续时间分钟

获取或设置触发器触发后触发器保持活动状态的分钟数

[……]

此属性与IntervalMinutes属性一起使用 在一段时间内重复运行任务。例如,启动一个 在上午8:00执行任务,并反复重新启动,直到下午5:00 DurationMinutes值为540分钟(9小时)

DurationMinutes值也可用于终止正在运行的任务 任务的DurationMinutes属性过期后

您可以使用KillAtDurationEnd属性指定任务是 在其持续时间分钟到期后终止。DurationMinutes的值必须大于或等于IntervalMinutes 背景


啊!除了最显眼的地方,我到处都找了!非常感谢@peter