這可能是共享變量的一般問題,但這裏有。我正在網頁上使用GridView來編輯每個作業,我需要連接到每個'rowbound'事件以從jobDataMap獲取一些數據。從另一種方法(Quartz.NET)獲取調度器。或者一般方法問題
無論如何,調度程序在Page_Load方法啓動(創建我可以用來訪問信息的變量sched),但是從任何其他事件/方法我無法訪問調度變量。我如何讓自己做到這一點?
感謝
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.Header)
{
var schedulerFactory = new StdSchedulerFactory();
IScheduler sched = schedulerFactory.GetScheduler();
string schedID = sched.SchedulerInstanceId;
string id = e.Row.Cells[0].Text;
string groupid = e.Row.Cells[1].Text;
JobDetail jobDetail = sched.GetJobDetail(id, groupid);
Trigger[] trigger = sched.GetTriggersOfJob(id, groupid);
JobDataMap dataMap = jobDetail.JobDataMap;
e.Row.Cells[3].Text = dataMap.GetString("nameid");
}
}
乾杯哥們,它告訴我「計劃名爲‘DefaultQuartzScheduler’已經存在,雖然:( – Chris 2010-10-21 13:03:56
這是奇怪的,我使用完全相同的兩行代碼在一個項目中,這個工程,但我增加了另一種方式來獲得相同的結果 – 2010-10-21 13:54:40
現在我收到對象引用錯誤,無論我做什麼......嗯,我編輯我的問題與我使用的代碼,也許我做錯了什麼,我試圖創建一個ASP.NET頁面,在那裏他們可以編輯數據映射中的作業細節。 – Chris 2010-10-21 14:20:43