深圳网站设计公司的,网站建设可以帮助花店怎么样,大连坐网站,设计一套企业网站设计报价Quartz.NET是一个开源的作业调度框架#xff0c;是OpenSymphony 的 Quartz API的.NET移植#xff0c;它用C#写成#xff0c;可用于WinForm和ASP.NET应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征#xf…Quartz.NET是一个开源的作业调度框架是OpenSymphony 的 Quartz API的.NET移植它用C#写成可用于WinForm和ASP.NET应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征如数据库支持集群插件支持cron-like表达式等等。 你曾经需要应用执行一个任务吗这个任务每天或每周星期二晚上1130或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行过程中如果发生一个严重错误应用能够知到其执行失败并尝试重新执行吗你和你的团队是用.NET编程吗如果这些问题中任何一个你回答是那么你应该使用Quartz.NET调度器。 Quartz.NET允许开发人员根据时间间隔或天来调度作业。它实现了作业和触发器的多对多关系还能把多个作业与不同的触发器关联。整合了 Quartz.NET的应用程序可以重用来自不同事件的作业还可以为一个事件组合多个作业。 Quartz.NET使用TriggerJob和JobDetail对象的组合来实现工作调度可以参考博客http://www.cnblogs.com/shanyou/archive/2007/08/25/QuartzNETtutorial.html Spring.NET现在已经支持了Quartz.NET在以后的开发中我们仅需要配置一下属性就能轻松使用Quartz.NET。 Spring.NET提供了QuartzJobObject基类该类继承IJob接口。实现一个Job我们可以继承该类。或者配置Spring.NET提供的MethodInvokingJobDetailFactoryObject对象。而实现JobDetail则使用Spring.NET提供的JobDetailObject类。另外Spring.NET为我们提供了两种TriggerSpring.Scheduling.Quartz.SimpleTriggerObject和Spring.Scheduling.Quartz.CronTriggerObject。 以下是两种Trigger的例子 DiningService public class DiningService : QuartzJobObject { public string UserName { get; set; } protected override void ExecuteInternal(JobExecutionContext context) { string msg string.Format({0}: 回家吃饭时间, 姓名: {1}, 下次吃饭时间 {2}, DateTime.Now, UserName, context.NextFireTimeUtc.Value.ToLocalTime()); Console.WriteLine(msg); } } DiningService object nameDiningService typeSpring.Scheduling.Quartz.JobDetailObject, Spring.Scheduling.Quartz property nameJobType valueQuartzNet.DiningService, QuartzNet / !-- 注入被调度的对象 -- property nameJobDataAsMap dictionary entry keyUserName value冬冬 / /dictionary /property /object object idcronTrigger typeSpring.Scheduling.Quartz.CronTriggerObject, Spring.Scheduling.Quartz property namejobDetail refDiningService / !-- 每个5秒执行一次 -- property namecronExpressionString value0/5 * * * * ? / /object PersonService public class PersonService { public string UserName { get; set; } public void GoToBed() { Console.WriteLine(姓名 {0} 睡觉的时间是: {1}, UserName, DateTime.Now); } } PersonService !--注入的目标对象-- object idPersonService typeQuartzNet.PersonService, QuartzNet property nameUserName value刘冬 / /object object idjobDetail typeSpring.Scheduling.Quartz.MethodInvokingJobDetailFactoryObject, Spring.Scheduling.Quartz !-- 不必继承IJob接口 -- property nameTargetObject refPersonService / property nameTargetMethod valueGoToBed / /object object idjobDetailNonConcurrent typeSpring.Scheduling.Quartz.MethodInvokingJobDetailFactoryObject, Spring.Scheduling.Quartz property nametargetObject refPersonService / property nametargetMethod valueGoToBed / !-- 并发等待 -- property nameconcurrent valuefalse / /object object idsimpleTrigger typeSpring.Scheduling.Quartz.SimpleTriggerObject, Spring.Scheduling.Quartz property namejobDetail refjobDetail / !-- 从几秒开始 -- property namestartDelay value0s / !-- 每隔5秒重复 -- property namerepeatInterval value15s / /object triggers object typeSpring.Scheduling.Quartz.SchedulerFactoryObject, Spring.Scheduling.Quartz !--触发器-- property nametriggers list ref objectsimpleTrigger / ref objectcronTrigger / /list /property /object 运行效果 转载于:https://www.cnblogs.com/millen/archive/2009/12/30/1635993.html