.NET轻量级任务管理类
2017-01-04 22:19
99 查看
概述
最近做项目总是遇到服务跑批等需求,一直想写个任务管理的DLL,现在整理了一下思路,编写了一个DLL类库,使用方便。只要调用的子类继承服务基类便可以实现任务的整体调度。先看看页面效果;
使用方式
1、任务的子类服务基础类BaseService,重新父类的执行任务的方法ExecAction和配置服务的方法IntialConfig;
2、通过类库下的ServiceRepertory来查询当前服务实例以及启动服务:
a>、ServiceRepertory.StartService(实例)启动服务;
b>、ServiceRepertory.StopService(实例)停止服务;
c>、ServiceRepertory.ServiceList()获取当前所有服务实例;
d>、ServiceRepertory.StartAllService()启动当前编写的所有服务实例;
事例代码如下:
3、下载地址
DEMO下载地址: http://pan.baidu.com/s/1nvEvtmp
DLL下载地址:http://pan.baidu.com/s/1slxYfHr
最近做项目总是遇到服务跑批等需求,一直想写个任务管理的DLL,现在整理了一下思路,编写了一个DLL类库,使用方便。只要调用的子类继承服务基类便可以实现任务的整体调度。先看看页面效果;
使用方式
1、任务的子类服务基础类BaseService,重新父类的执行任务的方法ExecAction和配置服务的方法IntialConfig;
public class MyTask : BaseService { public override void ExecAction() { this.TrackRunLog("生成报表", "开始生成报表服务"); } public override void IntialConfig() { this.ServiceTitle = "生成报表服务"; } }
2、通过类库下的ServiceRepertory来查询当前服务实例以及启动服务:
a>、ServiceRepertory.StartService(实例)启动服务;
b>、ServiceRepertory.StopService(实例)停止服务;
c>、ServiceRepertory.ServiceList()获取当前所有服务实例;
d>、ServiceRepertory.StartAllService()启动当前编写的所有服务实例;
事例代码如下:
public ActionResult About() { ServiceRepertory.StartAllService(); List<BaseService> TaksResult = ServiceRepertory.ServiceList(); return View(TaksResult); } public ActionResult Service(string serId,string opeart) { BaseService TaskService= ServiceRepertory.ServiceList().SingleOrDefault(p=>p.ServiceID.ToString()==serId); if (TaskService != null) { if (opeart.ToLower().Equals("start")) { ServiceRepertory.StartService(TaskService); } else { ServiceRepertory.StopService(TaskService); } } return Content("操作成功"); }
3、下载地址
DEMO下载地址: http://pan.baidu.com/s/1nvEvtmp
DLL下载地址:http://pan.baidu.com/s/1slxYfHr
相关文章推荐
- 键盘过滤驱动学习
- zmq ipc
- flume启动No appenders could be found for logger (org.apache.flume.lifecycle.LifecycleSupervisor)
- 用管道实现进程间通信
- 用angularjs封装指令遇到的错误Error: [$compile:tplrt]
- catalog备份数据库及RMAN存储脚本
- Caffe 使用1:准备数据 Caffe DIY-step1: Prepare Data
- 列表、表格与框架
- 对HashMap进行排序
- 求数字特征值
- 如何看待master的50连胜
- 指针操作
- [置顶] tomcat启动慢, Creation of SecureRandom instance for session ID generation using [SHA1PRNG]took [xx] mil
- Intellj Idea 远程调试
- php连接sql_server数据库
- 找X(简单查找)
- golang 图片处理,剪切,base64数据转换,文件存储
- SpringMVC学习总结(五).拦截器的使用
- Javascript闭包——懂不懂由你,反正我是懂了
- SpringMVC对比Struts2