-1

3 秒後にスケジュール タスクを実行したいので、WPF アプリケーションにコードを記述しました。

 using (var ts = new TaskService())
 { 
     TaskDefinition td = ts.NewTask();
     td.Settings.MultipleInstances = TaskInstancesPolicy.IgnoreNew;
     td.RegistrationInfo.Description = "TestAPP";

     var trigger = new TimeTrigger();
     trigger.Repetition.Interval = TimeSpan.FromSeconds(3000);
     lblProcess.Content = DateTime.Now.Second; //print current second in a label. 
     td.Triggers.Add(trigger);

     td.Actions.Add(new ExecAction(System.Reflection.Assembly.GetExecutingAssembly().Location, null, System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location)));

     ts.RootFolder.RegisterTaskDefinition(@"TestTask", td);
 }

ここで、VS から破棄した後、3 秒ごとに実行されるかどうかを確認したいので、現在の秒をラベルに出力しましたlblProcess

しかし、3秒ごとに更新されるわけではありません。何か間違っていますか?

編集-1:

私は前にこれを読みました:スケジュールされたタスクの作成

チェック方法に勝るものはありません。

編集-2:

3.0代わりに使用すると3000、エラーが発生します。

指定された引数は有効な値の範囲外です。パラメータ名: 間隔

4

2 に答える 2

1
TimeSpan.FromSeconds(3);

3000 を渡すときは、3000 秒を入力します。

https://msdn.microsoft.com/en-us/library/system.timespan.fromseconds(v=vs.110).aspx

于 2016-09-27T09:13:41.380 に答える
1

タスク スケジューラで間隔を 1 分未満に設定することはできません

于 2016-09-27T09:46:10.900 に答える