2013-01-19 1 views
1

저는 윈도우 서비스를하고 있습니다. 스케줄을 잡아야합니다. 일정은 일주일에 3 일과 하루에 4 번으로 설정됩니다. 서비스가 시작될 때마다 다음 실행 시간을 선택해야합니다.C# : 윈도우 서비스의 다음 실행 시간을 얻으십시오.

다음 실행 시간은 같은 날 또는 다음 예정일 (하루나 이틀 간격이있을 수 있음) 일 수 있습니다.

+1

당신이 시도한 것을 보니 언제나 반갑습니다. – Brett

+1

왜 수동으로 시작 하시겠습니까? Windows 서비스는 백그라운드에서 지속적으로 실행되며 시간이 다가 왔을 때해야 할 일을 수행합니다. 대안으로 예약 된 작업을 사용할 수도 있습니다. 예약 된 작업은 미세 조정할 수도 있습니다. –

+0

처음 시작해야합니다. 언제든지 시작할 때 다음 실행 시간을 선택해야합니다. – Lali

답변

1

Task Scheduler Managed Library (Codeplex)을 살펴보십시오. 나는 그것이 마이크로 소프트에 의해 유지되고 있다고 생각한다. 당신이 Microsoft.Win32.TaskScheduler에 DLL 참조를 추가하면

, 당신과 같이 정말 쉽게 사용할 수 있습니다 YourProgram.exe을 실행, 매주 금요일를 실행하는 작업을 등록합니다

var taskService = new TaskService(); 
var task = taskService.NewTask(); 

task.Triggers.Add(new WeeklyTrigger(DaysOfTheWeek.Friday, 1)); 
task.Actions.Add(new ExecAction("YourProgram.exe", null, null)); 

task.RootFolder.RegisterTaskDefinition("YourTaskName", task); 

.