1、引入quartz.net 包
2、因为不想使用配置文件的方式,单独增加了一个quartz服务类
class QuartzServer
{
public static void ExecuteInterval<T>(int seconds) where T : IJob
{
ISchedulerFactory factory = new StdSchedulerFactory();
IScheduler scheduler = factory.GetScheduler();
IJobDetail job = JobBuilder.Create<T>().Build();
ITrigger trigger = TriggerBuilder.Create().StartNow().WithSimpleSchedule(x => x.WithIntervalInSeconds(seconds).RepeatForever()).Build();
scheduler.ScheduleJob(job, trigger);
scheduler.Start();
}
public static IScheduler getScheduler<T>(int seconds) where T : IJob
{
ISchedulerFactory factory = new StdSchedulerFactory();
IScheduler scheduler = factory.GetScheduler();
IJobDetail job = JobBuilder.Create<T>().Build();
ITrigger trigger = TriggerBuilder.Create().StartNow().WithSimpleSchedule(x => x.WithIntervalInSeconds(seconds).RepeatForever()).Build();
scheduler.ScheduleJob(job, trigger);
return scheduler;
}
public static void ExecuteByCron<T>(string cronExpression) where T : IJob
{
ISchedulerFactory factory = new StdSchedulerFactory();
IScheduler scheduler = factory.GetScheduler();
IJobDetail job = JobBuilder.Create<T>().Build();
ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create().WithCronSchedule(cronExpression).Build();
scheduler.ScheduleJob(job, trigger);
scheduler.Start();
}
3、具体使用
开启
stockUpdateJob= QuartzServer.getScheduler<StockUpdateJob>(10);
stockUpdateJob.Start();
关闭
stockUpdateJob.Shutdown(true);
.net中异步操作更改主界面控件信息
System.Timers.Timer sysTimer = new System.Timers.Timer(30000); sysTimer.Elapsed += SysTimer_Elapsed; sysTimer.Enabled = true;
private void SysTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { this.checkState(); }
ComboBox 动态遍历 枚举,动态添加item到comboBox中。
Type type = typeof(BusinessEnum); foreach (var x in type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static)) { BusinessEnum item = (BusinessEnum)x.GetValue(null); string desc= EnumUtil.description(item); cbFuncType.Items.Add(new DictionaryEntry(item, desc)); } cbFuncType.DisplayMember = "Value"; cbFuncType.ValueMember = "Key";
浙公网安备 33010602011771号