C#アプリケーションでタスクをスケジュールするためにタスクスケジューラを使用しています。このライブラリの基本的な理解を得たと思います。
しかし今、私は設定されたスケジュールで実行されるカスタムアクションを作成したい場所で立ち往生しています.EmailAction(設定されたスケジュールでメールを送信します)、ShowMessageAction (設定されたアラートメッセージを表示します)などの組み込みアクションのようにschedule )、C# コードを実行するアクションを作成したいのですが、そのコードはデータをデータベースに保存します。
私が試したことは次のとおりです。次のように、Actionを継承するクラスCustomActionを作成しました。
public class NewAction : Microsoft.Win32.TaskScheduler.Action
{
public override string Id
{
get
{
return base.Id;
}
set
{
base.Id = value;
}
}
public NewAction()
{
}
}
そして、ここに私のタスクスケジューラコードがあります:
..
...
// Get the service on the local machine
using (TaskService ts = new TaskService())
{
// Create a new task definition and assign properties
TaskDefinition td = ts.NewTask();
td.RegistrationInfo.Description = "Does something";
// Create a trigger that will fire the task at this time every other day
TimeTrigger tt = new TimeTrigger();
tt.StartBoundary = DateTime.Today + TimeSpan.FromHours(19) + TimeSpan.FromMinutes(1);
tt.EndBoundary = DateTime.Today + TimeSpan.FromHours(19) + TimeSpan.FromMinutes(3);
tt.Repetition.Interval = TimeSpan.FromMinutes(1);
td.Triggers.Add(tt);
// Create an action that will launch Notepad whenever the trigger fires
td.Actions.Add(new NewAction()); <==========================
// Register the task in the root folder
ts.RootFolder.RegisterTaskDefinition(@"Test", td);
// Remove the task we just created
//ts.RootFolder.DeleteTask("Test");
}
...
....
行(矢印が指す)で、例外が発生しています:
値が予想される範囲内に収まらない タスク スケジューラ
私が達成しようとしていることが可能かどうかさえわかりません.可能であれば、正しい方向に私を導いてください?