2011-01-05 5 views
3

사용자가 구성 할 수있는 일정에 따라 되풀이 작업을 실행할 도구를 작성해야합니다. C# 3.5로 작성하고 XP, Windows 7 또는 Windows Server 2008에서 실행합니다. 작업을 완료하는 데 약 20 분이 소요됩니다. 사용자는 일별, 주별 및 월별주기와 같은 몇 가지 구성을 설정하고자 할 것입니다. 작업 스케줄러 사용은 옵션이 아닙니다.되풀이 작업 스케줄러 작성에 도움이 필요합니다.

사용자는 Outlook의 되풀이 약속 대화 상자와 유사한 인터페이스를 통해 되풀이를 예약합니다. 일단 그들이 일정을 설정하면 그들은 그것을 시작하고 시스템 트레이에 앉아 지정된 시간에 작업을 시작한 다음 완료되었음을 알리는 메일을 보내야합니다.

리소스를 낭비하거나 호스트를 잠그지 않거나 오작동을 일으키지 않도록 작성하는 가장 좋은 방법은 무엇입니까?

답변

4

당신이 할 수있는 최선의 방법은 OS가 제공하는 것을 활용하여 휠을 재발 명하는 것을 피하는 것입니다. Bart De Smet의 Calling the Task Scheduler in Windows Vista (and Windows Server 2008) from managed code 문서에서 C#의 Windows 작업 스케줄러에 대한 매우 유용한 정보를 볼 수 있습니다.

어떤 이유로 든 (예 : 종속성을 제어하는 ​​등) 자체 서비스를 구현해야하는 경우 .NET 호환 언어로 된 오픈 소스 Cron 구현을 살펴볼 것입니다. 코드 프로젝트에 Implementing a small Cron service in C#이라는 코드가있는 기사가 있습니다. 그의 기사 An Event Based Cron (Scheduled) Job In C#에 따르면, Bob Cravens가이 분야에서 좀 더 철저한 작업을 수행했거나 최소한 작업을 더 철저하게 문서화 한 것처럼 보입니다. 주변을 둘러 보면 다른 사람들이있을 것이라고 확신합니다. Cron을 기반으로 한 것은 좋은 출발점입니다.

+0

우수! 정확히 내가 무엇을 찾고 있었는지 – Sisiutl

1

나는

을 일정을 얻고 을 당신이 DB에 무엇을해야 작성하는 GUI를 추가하지만

System.Timers.Timer 

를 사용하는 기억하지하는 SQLite는 DB를 사용하는 Windows 서비스를 작성 제안합니다

System.Windows.Forms.Timer 

귀하의 Windows 서비스에서

관련 문제