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

网站建设属于技术开发吗网络运营有前途吗

网站建设属于技术开发吗,网络运营有前途吗,晋城网站建设电话,跨境电商平台网站建设广州目录 创建简易控制台定时任务步骤完整程序 创建简易控制台定时任务 创建winform的可以看#xff1a;https://blog.csdn.net/wayhb/article/details/134279205 步骤 创建控制台程序 使用vs2019新建项目#xff0c;控制台程序#xff0c;使用.net4.7.2项目右键#xff08… 目录 创建简易控制台定时任务步骤完整程序 创建简易控制台定时任务 创建winform的可以看https://blog.csdn.net/wayhb/article/details/134279205 步骤 创建控制台程序 使用vs2019新建项目控制台程序使用.net4.7.2项目右键管理NuGet程序包搜索Quartz安装 使用Quartz.Net官网示例运行程序 打开官网https://www.quartz-scheduler.net/documentation/quartz-3.x/quick-start.html#trying-out-the-application在程序入库Program.cs粘贴官网示例 //出现错误右键修复自动添加包 using Quartz; using Quartz.Impl; using Quartz.Logging; using System; using System.Threading.Tasks;namespace ConsoleSkWork {class Program{private static async Task Main(string[] args){LogProvider.SetCurrentLogProvider(new ConsoleLogProvider());// Grab the Scheduler instance from the FactoryStdSchedulerFactory factory new StdSchedulerFactory();IScheduler scheduler await factory.GetScheduler();// and start it offawait scheduler.Start();// define the job and tie it to our HelloJob classIJobDetail job JobBuilder.CreateHelloJob().WithIdentity(job1, group1).Build();// Trigger the job to run now, and then repeat every 10 secondsITrigger trigger TriggerBuilder.Create().WithIdentity(trigger1, group1).StartNow().WithSimpleSchedule(x x.WithIntervalInSeconds(10).RepeatForever()).Build();// Tell Quartz to schedule the job using our triggerawait scheduler.ScheduleJob(job, trigger);// some sleep to show whats happeningawait Task.Delay(TimeSpan.FromSeconds(60));// and last shut down the scheduler when you are ready to close your programawait scheduler.Shutdown();Console.WriteLine(Press any key to close the application);Console.ReadKey();}// simple log provider to get something to the console//https://www.quartz-scheduler.net/documentation/quartz-3.x/quick-start.html#trying-out-the-applicationprivate class ConsoleLogProvider : ILogProvider{public Logger GetLogger(string name){return (level, func, exception, parameters) {if (level LogLevel.Info func ! null){Console.WriteLine([ DateTime.Now.ToLongTimeString() ] [ level ] func(), parameters);}return true;};}public IDisposable OpenNestedContext(string message){throw new NotImplementedException();}public IDisposable OpenMappedContext(string key, object value, bool destructure false){throw new NotImplementedException();}}}public class HelloJob : IJob{public async Task Execute(IJobExecutionContext context){await Console.Out.WriteLineAsync(Greetings from HelloJob!);}} }运行控制台程序 说明 info是日志插件输出的 hellojob就是任务触发的 添加触发监听器 触发监听器是用于监听触发器的添加触发监听器可以在任务执行前后执行其他动作例如输出下一次该任务执行时间触发监听器官网解释https://www.quartz-scheduler.net/documentation/quartz-3.x/tutorial/trigger-and-job-listeners.html继承触发监听器接口有4个方法需要实现 //触发器执行前 public async Task TriggerFired(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken default) {} // 判断作业是否继续true继续false本次不触发 public async Taskbool VetoJobExecution(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken default) {} // 触发完成 public async Task TriggerComplete(ITrigger trigger, IJobExecutionContext context, SchedulerInstruction triggerInstructionCode, CancellationToken cancellationToken default) {} // 触发失败 public async Task TriggerMisfired(ITrigger trigger, CancellationToken cancellationToken default) {} 主程序中添加触发监听器 // 将trigger监听器注册到调度器scheduler.ListenerManager.AddTriggerListener(new CustomTriggerListener());完整程序 Program.cs using System; using System.Threading.Tasks;using Quartz; using Quartz.Impl; using Quartz.Logging;namespace ConsoleApp1 {public class Program{private static async Task Main(string[] args){LogProvider.SetCurrentLogProvider(new ConsoleLogProvider());// Grab the Scheduler instance from the FactoryStdSchedulerFactory factory new StdSchedulerFactory();IScheduler scheduler await factory.GetScheduler();// and start it offawait scheduler.Start();// define the job and tie it to our HelloJob classIJobDetail job JobBuilder.CreateHelloJob().WithIdentity(job1, group1).Build();// Trigger the job to run now, and then repeat every 10 secondsITrigger trigger TriggerBuilder.Create().WithIdentity(trigger1, group1).StartNow().WithSimpleSchedule(x x.WithIntervalInSeconds(10).RepeatForever()).Build();// 将trigger监听器注册到调度器scheduler.ListenerManager.AddTriggerListener(new CustomTriggerListener());// Tell Quartz to schedule the job using our triggerawait scheduler.ScheduleJob(job, trigger);// some sleep to show whats happeningawait Task.Delay(TimeSpan.FromSeconds(60));// and last shut down the scheduler when you are ready to close your programawait scheduler.Shutdown();Console.WriteLine(Press any key to close the application);Console.ReadKey();}// simple log provider to get something to the consoleprivate class ConsoleLogProvider : ILogProvider{public Logger GetLogger(string name){return (level, func, exception, parameters) {if (level LogLevel.Info func ! null){Console.WriteLine([ DateTime.Now.ToLongTimeString() ] [ level ] func(), parameters);}return true;};}public IDisposable OpenNestedContext(string message){throw new NotImplementedException();}public IDisposable OpenMappedContext(string key, object value, bool destructure false){throw new NotImplementedException();}}}public class HelloJob : IJob{public async Task Execute(IJobExecutionContext context){//获取当前时间DateTime currentDateTime DateTime.UtcNow;await Console.Out.WriteLineAsync(当前日期和时间 currentDateTime.AddHours(8));}} }CustomTriggerListener.cs using Quartz; using System; using System.Threading; using System.Threading.Tasks;namespace ConsoleApp1 {//继承监听器接口public class CustomTriggerListener : ITriggerListener{public string Name CustomTriggerListener;//触发器执行前public async Task TriggerFired(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken default){Console.WriteLine(【*********************************************】);Console.WriteLine($【{Name}】---【TriggerFired】-【触发】);await Task.CompletedTask;}// 判断作业是否继续true继续false本次不触发public async Taskbool VetoJobExecution(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken default){Console.WriteLine($【{Name}】---【VetoJobExecution】-【判断作业是否继续】-{true});return await Task.FromResult(cancellationToken.IsCancellationRequested);}// 触发完成public async Task TriggerComplete(ITrigger trigger, IJobExecutionContext context, SchedulerInstruction triggerInstructionCode, CancellationToken cancellationToken default){Console.WriteLine($【{Name}】---【TriggerComplete】-【触发完成】);//获取下次执行日期时间UTC将UTC时间转换成北京时间DateTimeOffset dd (DateTimeOffset)trigger.GetNextFireTimeUtc();Console.WriteLine(【下次执行时间】dd.DateTime.AddHours(8));await Task.CompletedTask;}// 触发失败public async Task TriggerMisfired(ITrigger trigger, CancellationToken cancellationToken default){Console.WriteLine($【{Name}】---【TriggerMisfired】【触发作业】);await Task.CompletedTask;}}}
http://www.sadfv.cn/news/98357/

相关文章:

  • 制作网线的线序网站功能优化的方法
  • 优秀网站菜单店面设计包括哪些内容
  • 设计网站排行网站开发专业成功人士
  • 经营网站建设并提示网站菜单导航及用户登录
  • 个人网站设计怎么做外贸网站建设产品
  • 杭州市下城区建设厅网站郑州市有做网站的吗
  • 如何自己搭建一个个人网站网站备案 照片
  • 做任务分享赚钱的网站网站优化需要做什么
  • 做网站打算套用模板南昌定制网站公司
  • 平台如何制作网站网站seo优化报告
  • 物流网站黄页网站营销
  • 南通网站设计制作系统开发费用明细
  • 手机建站cms系统桂林网站制作公司华彩
  • 网站建设中国十强wordpress访问报错
  • 学校网站建设要点三维家官网在线设计
  • 什么是网站设计种类南京做网站公司哪家好
  • 威海泰浩建设集团有限公司网站哪些网站需要icp备案
  • app网站开发河 又推广普通话的标语
  • 深圳网站建设推广公司网站服务内容怎么写
  • 如何把网站做的和别人一样做网站安全的公司有哪些
  • 网站美工如何做成都多享网站建设公司
  • 比稿网站嘉兴网络公司变更
  • 福田网站设计公司o2o营销
  • 网站集约化建设困难程序员自己做网站赚钱
  • 深圳网站改版公司网站建设不用备案的
  • 金华seo建站好的互联网资讯网站
  • 网站需求定制表单c 中怎么用html5做网站
  • 有源码如何做网站百度seo报价方法
  • 建网站电脑版和手机版怎么做长沙生活信息网
  • 官方网站开发哪家好怎么为自己公司做网站