Call an MVC ActionResult with Quartz

本文关键字:with Quartz ActionResult MVC an Call | 更新日期: 2023-09-27 18:09:53

我正在尝试使用sse(服务器发送的事件)将石英设置为流值到客户端。我想做的是在控制器中每5秒调用一个ActionResult,它会将更新的值发送到客户端。目前,我已经设置了Quartz来触发MtGoxTickerJobExecute()方法,这是一个源自IJob的类。我无法以这种方式调用ActionResult,因为MtGoxTickerJob在控制器的上下文中(似乎有办法做到这一点,但都是丑陋的解决方案)。是否有一种方法来设置MVC ActionResult作为作业触发的石英调度程序?

 //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();

Call an MVC ActionResult with Quartz

如何使用常规http客户端调用该操作?最后,如果它返回一个actionresult,那么你可能应该对它进行http调用。