在我的应用程序中,我有一个静态类(单例),需要使用一些在我的层中使用的环境变量进行初始化,我将其称为我的 applicationContext。这反过来又具有客户和用户上下文。
随着每个作业的运行,它会根据情况修改这些客户和用户上下文。我遇到的问题是,当两个作业同时触发时,它们可能会覆盖彼此的上下文,因此我需要为每个正在运行的作业保持多个用户和客户上下文处于活动状态,并且我需要能够以某种方式选择正确的上下文能够看到目前的工作是什么。
是否有可能以某种方式获取有关当前正在执行的quartz.net 作业的信息?
我正在设想这样的事情,其中“currentQuartzJob.Name”是由我所缺少的部分组成的:
public class MyContextImpl : IApplicationContext {
private Dictionary<string,subContexts> allCustomerContexts;
public string CurrentContext
{
get { return allCustomerContexts[currentQuartzJob.Name] };
}
}
编辑:
我认为不可能做我想做的事,即能够在一个不了解 Quartz.Net 的类中获取正在执行的作业的名称。
我真正需要的是一种为每项工作保留不同背景的方法。我设法通过查看执行线程的 ID 来做到这一点,因为它们似乎对于每个正在运行的作业都不同。