有没有办法将值从 Quartz Job 传递到 MVC 控制器?
Posted
技术标签:
【中文标题】有没有办法将值从 Quartz Job 传递到 MVC 控制器?【英文标题】:Is there a way to pass values from a Quartz Job to an MVC Controller? 【发布时间】:2021-12-28 14:33:25 【问题描述】:我正在开发一个.NET 应用程序,它使用 Quartz 来安排某个 DAL 函数每 10 秒运行一次。 DAL 函数 (CheckIncompleteExists) 返回一个对象,我们从 (TransacID) 中检索一个整数。
工作
TransactionDAL transactionContext = new TransactionDAL();
public Task Execute(IJobExecutionContext context)
Console.WriteLine("--> Database check completed");
if (transactionContext.CheckIncompleteExists() != null)
return Task.FromResult<int>(transactionContext.CheckIncompleteExists().TransacID);
return Task.FromResult<int>(0);
调度器
public class JobScheduler
public static void Start()
Task<IScheduler> schedulerjob = StdSchedulerFactory.GetDefaultScheduler();
IScheduler scheduler = schedulerjob.Result;
scheduler.Start();
IJobDetail job = JobBuilder.Create<Incompletescanjob>().Build();
//trigger the job
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(10) //run the method every 10 second
.RepeatForever())
.Build();
scheduler.ScheduleJob(job, trigger);
Job 和 Scheduler 工作正常并且能够返回正确的值。我想要做的是能够将整数值从 Job 传递到控制器 HomeController 中,以用于其他控制器功能。 我该怎么做呢?
【问题讨论】:
【参考方案1】:如果该值在系统的所有用户之间共享,那么您可以声明一个静态变量并将该值分配给该变量。可以从应用程序中的任何位置访问此变量。
否则考虑为每个用户使用会话。
【讨论】:
以上是关于有没有办法将值从 Quartz Job 传递到 MVC 控制器?的主要内容,如果未能解决你的问题,请参考以下文章
将值从 Django 视图传递到 AngularJS 插入的模板