c# - 使用 quartz.net xml 作业定义文件中的参数配置作业

标签 c# .net-4.0 quartz.net

我有一个作业,它有一个包含参数的构造函数,我想知道是否可以通过传递作业配置文件中定义的参数来配置 quartz 来实例化对象。我试过使用 job-data-map 元素,但这似乎不起作用。这有可能吗?

谢谢

最佳答案

作业必须有一个不需要参数的构造函数。为了通过 xml 将参数传递给作业,请像这样使用 xml:

<job>
  <name>nativeJobExample</name>
  <group>nativeJobExampleGroup</group>
  <description>Sample job for Quartz Server</description>
  <job-type>Quartz.Job.NativeJob, Quartz</job-type>
  <job-data-map>
    <entry>
      <key>command</key>
      <value>native_job_example.bat</value>
    </entry>
    <entry>
      <key>consumeStreams</key>
      <value>true</value>
    </entry>
  </job-data-map>
</job>

然后您可以通过传入作业的执行方法的数据映射来访问数据:

    public virtual void Execute(IJobExecutionContext context)
    {
        JobDataMap data = context.MergedJobDataMap;

        string command = data.GetString(PropertyCommand);

关于c# - 使用 quartz.net xml 作业定义文件中的参数配置作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10854222/

相关文章:

c# - 将双 for 循环转换为 linq 查询

c# - 线程 : Application Freezes after using Thread. 加入()

quartz.net - 将 Quartz.NET 与自定义连接提供程序一起使用

azure - 如何配置 Quartz.net 以使用 Azure SQL 数据库来存储 ADOJobStore 详细信息

c# - 为什么大多数人说数据服务和数据库是系统中最重要的部分?

c# - Entity Framework 6 - 使用 ToString 加入时出现 ORA-00932

javascript - 从 asp :CheckBox 获取文本

c# - 如何在ASP MVC中实现 "user interactive"依赖注入(inject)

c# - 是否有关于线程调度的简单而有意识的图表/算法?

log4net - 如何在Quartz.Net中从Log4Net切换到NLog?