我正在尝试设置石英以使用 SSE(服务器发送的事件)将值流式传输到客户端。我想做的是每 5 秒在控制器中调用一次 ActionResult,这会将更新后的值发送给客户端。目前我已经设置了 Quartz 来触发 的Execute()
方法MtGoxTickerJob
,该类派生自 IJob
. 我无法以这种方式调用 ActionResult,因为 MtGoxTickerJob 不在控制器的上下文中(似乎有办法做到这一点,但都是丑陋的解决方法)。有没有办法将 MVC ActionResult 设置为由 Quartz 调度程序触发的作业?
//Quartz Scheduler
// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
IJobDetail jobDetail = JobBuilder.Create<MtGoxTickerJob>()
.WithIdentity("TestJob")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.ForJob(jobDetail)
.WithCronSchedule("0/5 * * * * ?")
.WithIdentity("TestTrigger")
.StartNow()
.Build();
sched.ScheduleJob(jobDetail, trigger);
sched.Start();