时间:2021-05-20
之前一直觉得定时程序好神秘,后来,当我自己真正写了一个小的定时程序时,发现其实没有想象中的那么难。下面,我分享一下我自己的操作过程,希望能对大家有帮助。
1)在我们的项目中添加引用文件:TaskSchedulerEngine.dll(dll定义了一个ITask接口,定义了两个方法Initialize和HandleConditionsMetEvent);
2)创建一个定时触发的类:SyncTask.cs(类名自己随便定义),该类必须实现接口 ITask。具体代码如下:
public class SyncTask : ITask{ //接受传递过来的参数的变量 private string configName; /// <summary> /// 具体操作的代码 /// </summary> public void HandleConditionsMetEvent(object sender, ConditionsMetEventArgs e) { try { // 此处为具体的操作 } catch (Exception ex) { //抛出异常,记录错误日志 } } /// <summary> /// 初始化 /// </summary> /// <param name="schedule"></param> /// <param name="parameters">参数(该参数在定时触发设置时传递)</param> public void Initialize(ScheduleDefinition schedule, object parameters) { //通过传递过来的参数来初始化变量 configFileName = parameters.ToString(); try { //初始化的具体代码 } catch (Exception e) { //抛出异常,记录错误日志 } }}3)配置app.config文件,配置文件的参数设置说明:
a. <at></at>是一个Task,如果不同的时间触发不同的程序,则需要设置多个<at>; name:就是每个<at>的名字,可以根据自己的需要随便起名; month:该Task在哪个月份触发,* 表示每个月都触发 ;dayofMonth:每个月的几号触发,* 表示每天;dayOfWeek:每周几触发,* 表示每天都触发;hour:每天的几点触发,* 表示每小时触发一次;minute:每小时的几分钟触发,58表示每小时的58分触发;second:每分钟的几秒触发。
b. <task>是需要触发的类,type:"需要触发的类所在的详细地址(项目名.文件夹名.类名),项目名,Version,Culture,PublicKeyToKen",parameters:需要传递的参数,如果不传递参数可以设置为"" ;
<taskSchedulerEngine> <schedule> <at name="TaskName" month="*" dayOfMonth="*" dayOfWeek="*" hour="*" minute="58" second="0" kind="Local"> <execute> <task type="Test.Task.SyncTask, Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" parameters="FtpConfig.xml" /> </execute> </at> </schedule></taskSchedulerEngine>4)主程序来开启定时程序:
SchedulerRuntime.StartWithConfig();OK,到现在为止,一个完整的定时程序就写完啦,小伙伴们,欢迎大家提出宝贵意见。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
定时关机小程序界面:实现代码:复制代码代码如下:定时关机小程序SubWindow_onLoadstrComputer="."SetobjWMIService=G
C#微信小程序服务端获取用户解密信息实例代码实现代码:usingAIOWeb.Models;usingNewtonsoft.Json;usingNewtonso
本文以一个完整实例讲述了C#实现图片上传与浏览切换的方法,对于进行C#程序设计来说具有一定的借鉴价值。分享给大家供大家参考。具体实现代码如下:无标题页$(doc
最近做一个C#项目,需要对radis进行读写。首先引入System.Configuration,如下实现代码如下:publicclassManualSugges
本文实例讲述了C#定时器实现自动执行的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下://下面讲一个打开窗体定时执行按钮的东西privatevo