这篇文章利用实现定时小程序代码分享
之前一直觉得定时程序好神秘,后来,当我自己真正写了一个小的定时程序时,发现其实没有想象中的那么难。下面,我分享一下我自己的操作过程,希望能对大家有帮助。
1)在我们的项目中添加文件:TaskSchedulerEngine.l(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>
/// <param>参数(该参数在定时触发设置时传递)
public void Initialize(ScheduleDefinition schedule, object parameters)
{
//通过传递过来的参数来初始化变量
configFileName = parameters.ToString();
try
{
//初始化的具体代码
}
catch (Exception e)
{
//抛出异常,记录错误日志
}
}
}
登录后复制
3)配置app.config文件,的参数设置说明:
a. 是一个Task,如果不同的时间触发不同的程序,则需要设置多个 ; name:就是每个 的名字,可以根据自己的需要随便起名; month:该Task在哪个月份触发,* 表示每个月都触发 ;dayofMonth:每个月的几号触发,* 表示每天;dayOfWeek:每周几触发,* 表示每天都触发;hour:每天的几点触发,* 表示每小时触发一次;minute:每小时的几分钟触发,58表示每小时的58分触发;second:每分钟的几秒触发。
b. 是需要触发的类,type:”需要触发的类所在的详细地址(项目名.文件夹名.类名),项目名,Version,Culture,Public ToKen”,parameters:需要传递的参数,如果不传递参数可以设置为”” ;
<taskschedulerengine> <schedule> <at> <execute> <task></task> </execute> </at> </schedule></taskschedulerengine>
登录后复制
4)主程序来开启定时程序:
SchedulerRuntime.StartWithConfig();
登录后复制
OK,到现在为止,一个完整的定时程序就写完啦,小伙伴们,欢迎大家提出宝贵意见。
以上就是利用C#实现定时小程序代码分享的详细内容,更多请关注米云其它相关文章!
