文章目录概要具体修改点概要这篇博客基于我之前的基于FluentScheduler封装执行周期性任务程序进行优化在之前那篇博客中分享了怎么配置使用但是在我后续的使用中发现由于定时任务很多每个Job都要写一个单独Registry类导致Registry类特别多而且这个类中间也没做什么特别的操作。所以就在想改成批量配置。具体修改点修改BaseRegistry构造函数原来接收单个BaseJob改成接收一个数组。publicabstractclassBaseRegistry:Registry{//public BaseJob Job { get; private set; }publicBaseJob[]Jobs{get;privateset;}//public BaseRegistry(BaseJob job)//{// this.Job job;//}publicBaseRegistry(BaseJob[]jobs){this.Jobsjobs;}}TaskTimerWindow 窗体程序的Window_Closing事件处理方法中进行如下修改对于Job没有任何修改和原来一样使用只是Registry就改成批量注册了例如我这里有两个Job属于同一个模块的就可以批量进行注册当然这个看自己需求。还是和之前一样这些Job都是DI自动注入这里直接调父类构造函数传入就行然后这里配置JobpublicclassMyTestRegistry:BaseRegistry{publicMyTestRegistry(MyTestJob1myTestJob1,MyTestJob2myTestJob2):base(newBaseJob[]{myTestJob1,myTestJob2}){Schedule(myTestJob1).ToRunNow().AndEvery(5).Seconds();Schedule(myTestJob2).ToRunNow().AndEvery(3).Seconds();}}