2012-06-26 27 views
1

我想在我的C#項目中實現一個作業調度器。我搜索谷歌,並最終得到關於石英的信息。使用Quartz.Net進行作業調度 - 有些問題

所以我嘗試在我的項目中使用Quartz。爲此,我添加了quartz.dll文件並開發了一個簡單的應用程序。

這是我的代碼:

using Quartz; 
using Quartz.Impl; 

public partial class job_scheduling_in_c : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     ISchedulerFactory schedFact = new StdSchedulerFactory(); 

     //Yeni bir zamanlayıcı oluşturulup çalıştırılıyor 
     IScheduler sched = schedFact.GetScheduler(); 
     sched.Start(); 

     //Oluşturduğumuz görev(MyJob) hazırlanıyor 

     JobDetail jobDetail = new JobDetail("myJob", null, typeof(MyJob)); 

     //Başlatıldıktan 20 sn sonra çalışacak bir SimpleTrigger oluşturuluyor. 
     //İlk çalışmadan sonra 10 sn arayla 5 kez daha tetiklenecek 
     Trigger trigger = new SimpleTrigger("myFirstTrigger", 
               null, 
               DateTime.UtcNow.AddSeconds(20), 
               null, 
               5, 
               TimeSpan.FromSeconds(10)); 

     //Görev tetikleyici ile zamanlanıyor 
     sched.ScheduleJob(jobDetail, trigger); 
     //Uygulama bekletiliyor 
     ManualResetEvent resetEvent = new ManualResetEvent(false); 
     resetEvent.WaitOne(); 

    } 

但在

JobDetail jobDetail = new JobDetail("myJob", null, typeof(MyJob)); 
Trigger trigger = new SimpleTrigger("myFirstTrigger", 
              null, 
              DateTime.UtcNow.AddSeconds(20), 
              null, 
              5, 
              TimeSpan.FromSeconds(10)); 

我不明白JobDetailTrigger類的相應參考。如果兩者都是在類或用戶定義的類中構建的。如果有人知道請幫助我。

+0

答案就在這裏: http://stackoverflow.com/questions/10842826/quartz-net-implementation-doesnt-jive-with-tutorials – ozz

回答

0

您是否添加了對Quartz命名空間的引用?

右鍵單擊您的項目,從菜單中選擇添加引用並選擇Quartz.dll。

+0

如果他的工作與1.0版本,是綽綽有餘。但是,如果他正在使用2.x,他有一些問題,因爲Quartz包的Quartz.dll庫中的所有屬性都已更改。我有同樣的問題,我開始閱讀這個[鏈接](http://jayvilalta.com/blog/)。他給你提供了一些參考資料,並且他正忙於一本關於它的新電子書。 –