gpt4 book ai didi

c# - 从另一种方法 (Quartz.NET) 获取调度程序。或者一般方法题

转载 作者:行者123 更新时间:2023-11-30 22:43:23 25 4
gpt4 key购买 nike

这可能是关于共享变量的一般性问题,但这里是。

我在网页上使用 GridView 来编辑每个作业,我需要连接到每个“rowbound”事件以从 jobDataMap 获取一些数据。

无论如何,调度程序在 Page_Load 方法中启动(创建我可以用来访问信息的变量 sched),但是从任何其他事件/方法我无法访问 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");
}
}

最佳答案

您可以为此使用以下代码:

var schedulerFactory = new StdSchedulerFactory();
IScheduler scheduler = schedulerFactory.GetScheduler();

如果您的调度程序有一个特定的名称,则有一个接受字符串名称的 GetScheduler 重载。

或者您可以使用以下内容:

IScheduler scheduler =
SchedulerRepository.Instance.Lookup("DefaultQuartzScheduler");

关于c# - 从另一种方法 (Quartz.NET) 获取调度程序。或者一般方法题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3987480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com