本文摘自PHP中文网,作者黄舟,侵删。
后台服务只要是有一定经验的开发人员都接触过,其中离不开服务创建,调度逻辑处理,业务逻辑编写等环节。往往我们在新建一个后台服务项目的时候都会去拷贝以前的代码,再写一些线程等方式去完成,然后又去处理服务的安装问题。大部分时间都是浪费在这些重复的工作上。
这里提供的是一个简单的后台服务处理框架,简单的后台服务处理框支持(按指定间隔时间执行;每天指定时间执行每天一次;指定时间执行一次;每天指定开始和结束时间并且按照指定间隔时间执行),开发新的定时服务任务时,只需要实现抽象类的方法、添加任务配置以及运行安装脚本即可完成一个服务的开发。 框架代码路径:框架代码
框架支持配置执行类型来控制任务的执行逻辑
按指定间隔时间执行
每天指定时间执行 每天一次
指定时间执行一次
每天指定开始和结束时间并且按照指定间隔时间执行

以下是一个定时执行存储过程的任务。
继承基类并编写业务逻辑代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | using DataAccessHelper.SQLHelper; using Services.Common; using System; namespace Services.Tasks
{ public class CallProcTask : ServiceBase
{ protected override void Exec()
{ try
{ if (_isStart)
{ if (! string .IsNullOrWhiteSpace(Config.Param))
{
LogFactory.GetLogger().Info( string .Format( "开始执行存储过程 {0}" , Config.Param));
SQLHelperFactory.Instance.ExecuteNonQuery(Config.Param, null );
LogFactory.GetLogger().Info( string .Format( "执行存储过程 {0} 完成" , Config.Param));
}
}
} catch (Exception ex)
{
LogFactory.GetLogger().Error( string .Format( "执行存储过程 {0} 异常:{1}" , Config.Param, ex));
}
}
}
}
|
配置服务名称

配置每次执行间隔60秒
1 2 3 4 5 6 7 8 9 | [
{
"ServiceName" : "CallProcTask-proc_test任务" ,
"Assembly" : "Services.exe" ,
"Methods" : "Services.Tasks.CallProcTask" ,
"S_Interval" : 60,
"ExecType" : 0,
"Param" : "proc_test"
]
|
编写完成后,编译,运行:Install.bat 即可在服务管理器中看到对应的服务。
框架代码路径:框架代码
以上就是关于.NET后台定时服务框架的简单介绍的详细内容!
相关阅读 >>
详细介绍一个.net开源权限管理系统
c# 中guid生成格式有哪些方法
javascript client 如何获取 telerik radgrid的值
c#如何计算传入的时间距离今天的时间差的实例分享
总结.net mvc实现长轮询实例
c#多线程之semaphore的使用详解
分享.net mvc中使用forms验证实例代码
c#实现与现有.net事件桥接的简单代码
c# md5hash的用法及实例
.net中core如何利用redis发布订阅的实例分析
更多相关阅读请进入《.net》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » 关于.NET后台定时服务框架的简单介绍