刚开始做网站布局很吃力 怎么办,seo优化工具大全,企业网站模块种类,芜湖小学网站建设Quartz.NET是一个开源的作业调度框架#xff0c;是OpenSymphony 的 Quartz API的.NET移植#xff0c;它用C#写成#xff0c;可用于WinForm和ASP.NET应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而 创建简单的或复杂的调度。它有很多特征#x…Quartz.NET是一个开源的作业调度框架是OpenSymphony 的 Quartz API的.NET移植它用C#写成可用于WinForm和ASP.NET应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而 创建简单的或复杂的调度。它有很多特征如数据库支持集群插件支持cron-like表达式等等。 好了现在具体来说一下怎么使用Quartz.net 2.0。 1.到网上下载Quartz.net 2.0下载完后解压里面有vs.net2008和vs.net2010两个版本。 2.新建一个空项目在里面增加一个类库应用程序和web应用程序由于我经常是应用在的asp.net web应用程序中。 3.在web应用程序中引用Quartzdll程序集你下载的Quartz.net 2.0有 4.在类库应用程序中新建一个测试类和一个测试方法。 5.在web应用程序默认的defalut.asp.cs文件中实现 IJob然后实现 IJob的Execute方法在实现方法中写上你调用的类库应用程序的测试方法。 6.在web.config文件中加入下面的代码 01configSections 02 section namequartz typeSystem.Configuration.NameValueSectionHandler, System, Version1.0.5000.0,Cultureneutral, PublicKeyTokenb77a5c561934e089/ 03 sectionGroup namecommon 04 section namelogging typeCommon.Logging.ConfigurationSectionHandler, Common.Logging/ 05 /sectionGroup 06 07/configSections 08 common 09 logging 10 factoryAdapter typeCommon.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging 11 arg keyshowLogName valuetrue/ 12 arg keyshowDataTime valuetrue/ 13 arg keylevel valueDEBUG/ 14 arg keydateTimeFormat valueHH:mm:ss:fff/ 15 /factoryAdapter 16 /logging 17 /common 18 quartz 19 add keyquartz.scheduler.instanceName valueExampleDefaultQuartzScheduler/ 20 21 add keyquartz.threadPool.type valueQuartz.Simpl.SimpleThreadPool, Quartz/ 22 add keyquartz.threadPool.threadCount value10/ 23 add keyquartz.threadPool.threadPriority value2/ 24 25 add keyquartz.jobStore.misfireThreshold value60000/ 26 add keyquartz.jobStore.type valueQuartz.Simpl.RAMJobStore, Quartz/ 27 /quartz 7.在web应用程序中增加Global.asax文件在Application_Start方法中加入下面的代码 01Quartz.ISchedulerFactory sf new Quartz.Impl.StdSchedulerFactory(); 02 sched sf.GetScheduler(); 03 sched.Start(); 04 JobKey jobkey new JobKey(myjob, mygroup); 05 IJobDetail job JobBuilder.CreateTest.TestExcute().WithIdentity(jobkey).Build(); 06 //ITrigger trigger TriggerBuilder.Create().StartNow().Build(); 07 //比较复杂的应用 08 //IOperableTrigger trigger new CronTriggerImpl(trigName, group1, 0/2 * * * * ?); 09 //简单方式 10 SimpleTriggerImpl trigger new SimpleTriggerImpl(simpleTrig, simpleGroup, 10, DateTime.Now.AddSeconds(5) - DateTime.Now); 11 sched.ScheduleJob(job, trigger); 8.在Application_Start方法中加入下面的代码 1// 在应用程序关闭时运行的代码 2 if (sched ! null) 3 { 4 sched.Shutdown(true); 5 } ok,到现在为止就可以启动你的应用程序试试了。 注意每次调试时要重启一下应用服务器。 关于时间设置的一些相关内容引用自http://www.cnblogs.com/shanyou/archive/2007/09/04/881935.html如下 Quartz.NET 设计者做了一个设计选择来从调度分离开作业。Quartz.NET中的触发器用来告诉调度程序作业什么时候触发。框架提供了一把触发器类型但两个最常用 的是SimpleTrigger和CronTrigger。SimpleTrigger为需要简单打火调度而设计。 典型地如果你需要在给定的时间和重复次数或者两次打火之间等待的秒数打火一个作业那么SimpleTrigger适合你。另一方面如果你有许多复杂的作业调度那么或许需要CronTrigger。 CronTrigger是基于Calendar-like调度的。当你需要在除星期六和星期天外的每天上午10点半执行作业时那么应该使用CronTrigger。正如它的名字所暗示的那样CronTrigger是基于Unix克隆表达式的。 Cron表达式被用来配置CronTrigger实例。Cron表达式是一个由7个子表达式组成的字符串。每个子表达式都描述了一个单独的日程细节。这些子表达式用空格分隔分别表示 1. Seconds 秒 2. Minutes 分钟 3. Hours 小时 4. Day-of-Month 月中的天 5. Month 月 6. Day-of-Week 周中的天 7. Year (optional field) 年可选的域 一个cron表达式的例子字符串为0 0 12 ? * WED,这表示“每周三的中午1200”。 单个子表达式可以包含范围或者列表。例如前面例子中的周中的天这个域这里是WED可以被替换为MON-FRI, MON, WED, FRI或者甚至MON-WED,SAT。 通配符*可以被用来表示域中“每个”可能的值。因此在Month域中的*表示每个月而在Day-Of-Week域中的*则表示“周中的每一天”。 所 有的域中的值都有特定的合法范围这些值的合法范围相当明显例如秒和分域的合法值为0到59小时的合法范围是0到23Day-of-Month中 值得合法凡范围是0到31但是需要注意不同的月份中的天数不同。月份的合法值是0到11。或者用字符串JAN,FEB MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV 及DEC来表示。Days-of-Week可以用1到7来表示1星期日或者用字符串SUN, MON, TUE, WED, THU, FRI 和SAT来表示. /字符用来表示值的增量例如, 如果分钟域中放入0/15它表示“每隔15分钟从0开始”如果在份中域中使用3/20则表示“小时中每隔20分钟从第3分钟开始”或者另外相同的形式就是3,23,43。 ?字符可以用在day-of-month及day-of-week域中它用来表示“没有指定值”。这对于需要指定一个或者两个域的值而不需要对其他域进行设置来说相当有用。 L 字符可以在day-of-month及day-of-week中使用这个字符是last的简写但是在两个域中的意义不同。例如在day-of- month域中的L表示这个月的最后一天即一月的31日非闰年的二月的28日。如果它用在day-of-week中则表示7或 者SAT。但是如果在day-of-week域中这个字符跟在别的值后面则表示当月的最后的周XXX。例如6L 或者 FRIL都表示本月的最后一个周五。当使用L选项时最重要的是不要指定列表或者值范围否则会导致混乱。 W 字符用来指定距离给定日最接近的周几在day-of-week域中指定。例如如果你为day-of-month域指定为15W,则表示“距离月中15号最近的周几”。 #表示表示月中的第几个周几。例如day-of-week域中的6#3 或者 FRI#3表示“月中第三个周五”。 作为一个例子下面的Quartz.NET克隆表达式将在星期一到星期五的每天上午10点15分执行一个作业。 0 15 10 ? * MON-FRI 下面的表达式 0 15 10 ? * 6L 2007-2010 将在2007年到2010年的每个月的最后一个星期五上午10点15分执行作业。你不可能用SimpleTrigger来做这些事情。你可以用两者之中的任何一个但哪个跟合适则取决于你的调度需要。转载于:https://www.cnblogs.com/tonykan/p/3467398.html