Tôi đang sử dụng Task Scheduler để lên lịch cho tác vụ của mình trong ứng dụng C#. Tôi nghĩ rằng tôi có được sự hiểu biết cơ bản về thư viện này.Cách lên lịch tác vụ tùy chỉnh thông qua C#
Nhưng bây giờ tôi bị mắc kẹt ở một nơi mà tôi muốn tạo ra một hành động tùy chỉnh mà sẽ thực hiện trên trường quay schedule.Like các built-in action tức EmailAction (Mà sẽ gửi mail đúng tiến độ quy định), ShowMessageAction (mà sẽ hiển thị thông báo cảnh báo về lịch trình đã đặt), tôi muốn tạo một hành động sẽ chạy mã C# của tôi và mã đó sẽ lưu một số dữ liệu vào cơ sở dữ liệu của tôi.
Những gì tôi cố gắng nêu ra là: Tôi tạo ra một lớp CustomAction mà thừa hưởng Action, như:
public class NewAction : Microsoft.Win32.TaskScheduler.Action
{
public override string Id
{
get
{
return base.Id;
}
set
{
base.Id = value;
}
}
public NewAction()
{
}
}
Và đây là mã task scheduler của tôi:
..
...
// 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");
}
...
....
Trên dòng (chỉ bằng mũi tên) tôi đang nhận được ngoại lệ:
Giá trị 210không nằm trong phạm vi lịch biểu nhiệm vụ phạm vi dự kiến
Tôi không chắc mình đang cố gắng đạt được điều gì là có thể hay không, nếu có thể, xin vui lòng hướng dẫn tôi đúng hướng?
Bạn không thể chỉ thực hiện hành động ngẫu nhiên. Chỉ có 4 hành động có sẵn. Để chạy mã tùy chỉnh, hãy thực hiện một quá trình với hành động exec sẽ thực hiện bất kỳ mã nào bạn muốn. – devshorts