2013-04-22 2 views
1

예약 된 작업 래퍼를 ​​사용하여) 3 시간마다 발생시키는 예약 작업을 만들려고합니다. 매일 작업을 설치했지만 문서를 읽은 후에도 몇 시간마다 실행되도록 할 수는 없습니다. 또한 LogonType에 대해 너무 확신하지 못합니다. 누구든지 내가 어디로 잘못 가고 있는지 알려 줄 수 있습니까?예약 된 작업 지원주십시오주십시오

 private void button1_Click(object sender, EventArgs e) 
    { 
     using (TaskService ts = new TaskService()) 
     { 
      var androback = ts.GetTask("Andro_Inc_Backup"); 
      bool taskExists = androback != null; 
      if (taskExists) 
      { 
       MessageBox.Show("Andromeda incremental backup task already installed"); 
      } 
      else 
      { 
       TaskDefinition td = ts.NewTask(); 
       td.RegistrationInfo.Description = "Incremental Backup"; 
       td.Principal.LogonType = TaskLogonType.ServiceAccount; 
       td.Triggers.Add(new DailyTrigger { DaysInterval = 1 }); 
       td.Actions.Add(new ExecAction("C:\\Rameses\\Program\\Inc_Cloud_Backup.exe", null)); 
       const string taskname = "Inc_Backup"; 
       ts.RootFolder.RegisterTaskDefinition(taskname, td); 
       MessageBox.Show("Incremental Backup Task Installed"); 
      } 
     } 
    } 

답변

0

나는 당신이 dailyTrigger.Repetition.Interval 재산을 찾고 있다고 생각합니다.

DateTime datetime = DateTime.Today; 
DateTime startDateTime = new DateTime(datetime.Year, datetime.Month, datetime.Day, 0, 0, 0); 
DailyTrigger dailyTrigger = new DailyTrigger { StartBoundary = startDateTime, Enabled = true, DaysInterval = 1 }; 
dailyTrigger.Repetition.Interval = TimeSpan.FromHours(23); 
dailyTrigger.Repetition.Interval = TimeSpan.FromHours(3); 
td.Triggers.Add(dailyTrigger); 

은 내일부터 월요일과 토요일에 격주로 발사되며 다음과 같은 11시간을 위해 10 분마다 반복 트리거를 추가하는 참고 자료로 codeplex에 주간 트리거 샘플을 사용할 수 있습니다

추가 예제는 here입니다.