2012-11-16 9 views
6

タスクとそのスケジュールのリストがあります。 タスク1 - 毎日12 PM タスク2 - 月曜日、水曜日 - 午後9時 スケジュールに従って発射したいですか?Cでタスクスケジューライベントを聞く#

タスクスケジューラまたは他のスケジューラの\タイマをC#の一意のコンテキスト(タスクID)で登録することは可能ですか?コールバック(何らかのイベント)で、コンテキストからtaskidを取得し、taskidを使用して、私はアクションをトリガーできます。

基本的に、渡されたコンテキストで予定時刻が満たされたときにコールバックする必要があります。そして、私のコードは、スケジュールされた時間に何をしなければならないのかをよく知っています。

答えて

3

quartz.netを試してみませんか?このスケジューラはタスクIDとスケジューリングのコンテキストをサポートします。また、良いドキュメントとたくさんの例があります。

ここでは、タスク(別名ジョブ)の例を示します。実行コンテキストはスケジューラから送信されます。

public class DumbJob : IJob 
{ 
    public DumbJob() { 
    } 

    public void Execute(JobExecutionContext context) 
    { 
     Console.WriteLine("DumbJob is executing."); 
    } 
} 

ごみ収集を避けるために、スケジューラを静的にすることを忘れないでください。私はすでにこの問題に出会っています。

+0

感謝のジョニー応答します。ドットネットライブラリはここでネイティブサポートを提供していませんか? – KrishnaSrihari

+0

タイマーやカウンターのようなカップルがありますが、クォーツほど柔軟ではなく、多くの短所があります。初めてquatz.netに出会ったとき、私はすべてのプロジェクトでそれを使用するようにリファクタリングしました。まだ=を使用しています) –

関連する問題