当前位置: 首页 > news >正文

淮北市重点工程建设局网站pc网站手机版开发

淮北市重点工程建设局网站,pc网站手机版开发,感恩贺卡手工制作图片,简易签名设计一笔签一. 前奏-Timer类实现定时任务 在没有引入第三方开源的定时调度框架之前#xff0c;我们处理一些简单的定时任务同时都是使用Timer类#xff0c; DotNet中的Timer类有三个#xff0c;分别位于不同的命名空间下#xff0c;分别是#xff1a; ①.位于System.Windows.Forms里…一. 前奏-Timer类实现定时任务 在没有引入第三方开源的定时调度框架之前我们处理一些简单的定时任务同时都是使用Timer类 DotNet中的Timer类有三个分别位于不同的命名空间下分别是 ①.位于System.Windows.Forms里,即定时器控件不过多介绍了 ②.位于System.Threading.Timer类里 重点介绍 ③.位于System.Timers.Timer类里 (不介绍) 下面重点介绍第二种位于Threading下面的Timer类观察其源码发现有多种构造函数我们重点介绍其中的一种。 分享一段代码2秒后开启该线程然后每隔4s调用一次。 1 //2秒后开启该线程然后每隔4s调用一次 2 System.Threading.Timer timer new System.Threading.Timer((n) 3 { 4 //书写业务逻辑 5 Console.WriteLine(我是定时器中的业务逻辑哦{0},n); 6 }, 1, 2000, 4000); 分析总结上面的代码显而易见只能控制延迟多久开始执行每隔多久执行一次至于执行多少次、什么时间关闭均无法实现更不用说处理一些复杂的时间间隔了所以Timer类仅仅适合处理对时间要求非常简单的定时任务。 二. 进入主题-Quartz.Net的入门使用 使用步骤   前提通过NuGet引入程序集或者直接下载源码进行引入然后分五步走。   步骤一创建作业调度池(Scheduler)   步骤二创建一个具体的作业即job (具体的job需要单独在一个文件中执行)   步骤三创建并配置一个触发器即trigger   步骤四将job和trigger加入到作业调度池中   步骤五开启调度 下面分享一段简单的代码立即执行、每隔一秒执行一次、永久执行 1 /// summary2 /// Quartz框架的使用3 /// /summary4 public static void Show()5 {6 //1.创建作业调度池(Scheduler)7 IScheduler scheduler StdSchedulerFactory.GetDefaultScheduler();8 9 //2.创建一个具体的作业即job (具体的job需要单独在一个文件中执行) 10 var job JobBuilder.CreateHelloJob().Build(); 11 12 //3.创建并配置一个触发器即trigger 1s执行一次 13 var trigger TriggerBuilder.Create().WithSimpleSchedule(x x.WithIntervalInSeconds(1) 14 .RepeatForever()).Build(); 15 //4.将job和trigger加入到作业调度池中 16 scheduler.ScheduleJob(job, trigger); 17 18 //5.开启调度 19 scheduler.Start(); 20 } 1 /// summary2 /// 实现IJob接口3 /// /summary4 class HelloJob : IJob5 {6 void IJob.Execute(IJobExecutionContext context)7 {8 Console.WriteLine(Hellow JOB);9 } 10 } 分析每个Job都需要实现IJob接口并且显式的实现Execute方法创建调度器除了上述方法外还可以 1 //另外一种创建调度池的方法 2 var factory new StdSchedulerFactory(); 3 IScheduler scheduler2 factory.GetScheduler(); 执行结果 三. 扩展-Aop思想的体现 我们想在每次Job执行的前后分别执行一段通用的业务但有不想和原业务写在一起这个时候就需要面向切面编程了即AOP思想的体现。 Quartz.Net中Aop思想通过JobListener来实现代码如下 1 /// summary2 /// Quartz中的AOP思想3 /// /summary4 public static void AopShow()5 {6 //1.创建Schedule7 IScheduler scheduler StdSchedulerFactory.GetDefaultScheduler();8 9 //2.创建job (具体的job需要单独在一个文件中执行) 10 var job JobBuilder.CreateHelloJob().Build(); 11 12 //3.配置trigger 1s执行一次 13 var trigger TriggerBuilder.Create().WithSimpleSchedule(x x.WithIntervalInSeconds(1) 14 .RepeatForever()).Build(); 15 //AOP配置 16 scheduler.ListenerManager.AddJobListener(new MyAopListener(), GroupMatcherJobKey.AnyGroup()); 17 18 //4.将job和trigger加入到作业调度池中 19 scheduler.ScheduleJob(job, trigger); 20 21 //5. 开始调度 22 scheduler.Start(); 23 } 24 /// summary 25 /// Aop类 26 /// /summary 27 public class MyAopListener : IJobListener 28 { 29 public string Name 30 { 31 get 32 { 33 return hello world; 34 } 35 } 36 public void JobExecutionVetoed(IJobExecutionContext context) 37 { 38 39 } 40 public void JobToBeExecuted(IJobExecutionContext context) 41 { 42 Console.WriteLine(执行前写入日志); 43 } 44 public void JobWasExecuted(IJobExecutionContext context, JobExecutionException jobException) 45 { 46 Console.WriteLine(执行后写入日志); 47 } 48 } 执行结果
http://www.pierceye.com/news/810455/

相关文章:

  • 大连网站建设设计公司哪家好临海市城乡建设规划局网站
  • 福州商城网站建设网站建设的域名和空间价位
  • 如何做外卖网站网页设计照片
  • 长沙河西做网站自己做的网站怎么设置文件下载
  • 计算机本科论文 网站建设wordpress如何添加关键词和描述
  • div嵌套影响网站收录唐山做网站多少钱
  • 做网站挂谷歌广告赚钱吗windows优化大师自动安装
  • 网站下一步工作怎么做网上最好购物网站
  • OA 公司网站 铁道建设报自驾游网站建设
  • wordpress建站网站根目录短视频怎么赚钱
  • 亳州网站开发公司wordpress 添加分享
  • 如何查询网站接入信息移动网站开发框架
  • 河南做网站的百度竞价推广收费标准
  • 深圳的深圳的网站建设公司校园网站建设方向
  • 电商网站建设 解决方案的设计营销策略都有哪些方面
  • 菏泽网站建设兼职凡科网制作网站教程
  • 实验一 电子商务网站建设与维护北京网站设计培训学校
  • 周到的网站建设合肥建筑网站大全
  • 国外互联网资讯网站南宁网站制作费用
  • 建设公司网站要注意哪些蜜雪冰城推广软文
  • 做信息安全的网站博客网站的建设
  • 门户网站建设项目书提升学历是什么意思
  • 上海网站建设极简慕枫塘沽有哪些互联网公司
  • 社区网站如何做官方网站建设哪儿有
  • 做兼职的网站策划书大连中山网站建设
  • 中国摄影网站深圳网站建设龙华
  • 个人网站怎么建立深圳网站建站费用
  • 笔趣阁建站教程网页设计 网站建设啥意思
  • 海门网站开发西安响应式网站建设服务提供商
  • 自适应网站建站哈尔滨市建设安全监察网站