私は私のASP.NETアプリケーションでのジョブスケジューリングのためのQuartz.NETを使用している、と私は私のglobal.asax
ファイルに1つのトリガーを作成しました:このコードは私のために正常に動作Quartz.Net cronのトリガーC#の
// Code that runs on application startup
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// construct job info
JobDetail jobDetail = new JobDetail("mySendMailJob", typeof(SendMailJob));
SimpleTrigger trigger = new SimpleTrigger("myTrigger",
null,
DateTime.UtcNow,
null,
SimpleTrigger.RepeatIndefinitely,
TimeSpan.FromSeconds(60));
sched.ScheduleJob(jobDetail, trigger);
1分ごとに発火し、私の必要な作業をします。
このようにして、午前10時のような特定の時刻に発生するように、別のトリガーを作成しようとしましたが、それは私のためには機能しません。私はまた、失火の指示を作成したい。私のトリガーが特定の時間に起動されないとします。仕事をするためにトリガーをリロードするためのミスファイヤーの指示をどうやって得るのですか?
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// construct job info
JobDetail jobDetail = new JobDetail("mySendMailJob", typeof(SendMailJob));
Trigger trigger2 = TriggerUtils.MakeDailyTrigger(10, 00);
// schedule the job for execution
//trigger2.Name = "mySendMailTrigger";
sched.ScheduleJob(jobDetail, trigger2);
をWindowsサービスで仕事をする機会を持っている場合は、より良いものを実行します。ここでの問題を解決し
。 ASP.NETでバックグラウンドタスクを実行する場合、リスクがあります。 http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx –
Thanx Malcomの提案の場合、 しかし、それはIMです共有サーバー上でホストされるASPアプリケーションでの作業。そして、私は自分のウィンドウサービスをホストしています。私は自分のルーティンのうちの1つが日常的に、または定義された基準に従って、特定の時間にユーザーに電子メールを送信したいと考えています。長い検索とディスカッションの後、私はQuartzを見つけました.Netは私の望む仕事をします。 :) –