创建一个简单的windows服务,每间隔一定时间重复执行批处理文件
创建一个windows服务项目,增加App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="AutoBatPosition" value="C:\TestBat\bat\test.bat" />
<add key="IntervalSecond" value=""/>
</appSettings>
</configuration>
新建类BusinessLogic.cs,主要的业务逻辑都在此类中
public class BusinessLogic
{
System.Timers.Timer timer;
String autoBat = System.Configuration.ConfigurationManager.AppSettings["AutoBatPosition"]; //批处理文件的路径
public static NLog.Logger log = NLog.LogManager.GetCurrentClassLogger();//执行间隔 public void Run()
{
int intervalSecond = int.Parse(System.Configuration.ConfigurationManager.AppSettings["IntervalSecond"]);
timer = new System.Timers.Timer(intervalSecond * ); //间隔秒
timer.AutoReset = true;
timer.Enabled = true; //一直执行
timer.Elapsed += new ElapsedEventHandler(DoMerger);
timer.Start();
} //调用批处理
private void DoMerger(object source, System.Timers.ElapsedEventArgs e)
{
try
{
log.Info("开始"); log.Info("执行批处理开始");
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = autoBat;
process.StartInfo.UseShellExecute = false; //此处必须为false否则引发异常
process.Start();
process.WaitForExit();
log.Info("执行批处理结束");
log.Info("结束");
}
catch (Exception ex)
{
log.Error(ex.ToString());
}
} public void Stop()
{
timer.Close();
}
}
BusinessLogic.cs类创建完成,那么接下来就是调用了,打开Service1.cs,切换到代码视图
public partial class Service1 : ServiceBase
{
BusinessLogic logic = null;
public Service1()
{
InitializeComponent();
logic = new BusinessLogic();
} protected override void OnStart(string[] args)
{
logic.Run();
}
protected override void OnStop()
{
logic.Stop();
}
}
创建一个简单的windows服务,每间隔一定时间重复执行批处理文件的更多相关文章
- 如何创建一个标准的Windows服务
出处:http://www.cnblogs.com/wuhuacong/archive/2009/02/11/1381428.html 如何创建一个标准的Windows服务 在很多时候,我们需要一个定 ...
- node创建一个简单的web服务
本文将如何用node创建一个简单的web服务,过程也很简单呢~ 开始之前要先安装node.js 1.创建一个最简单的服务 // server.js const http = require('http ...
- java最简单的知识之创建一个简单的windows窗口,利用Frame类
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing 首先给大家看一下 ...
- 使用MicroService4Net 快速创建一个简单的微服务
“微服务架构(Microservice Architecture)”一词在过去几年里广泛的传播,它用于描述一种设计应用程序的特别方式,作为一套独立可部署的服务.目前,这种架构方式还没有准确的定义,但是 ...
- nodejs创建一个简单的web服务
这是一个突如其来的想法,毕竟做web服务的框架那么多,为什么要选择nodejs,因为玩前端时,偶尔想调用接口获取数据,而不想关注业务逻辑,只是想获取数据,使用java或者.net每次修改更新后还要打包 ...
- 使用Axis2创建一个简单的WebService服务
使用过Java进行过WebService开发都会听过或者接触过Apache Axis2,Axis2框架是应用最广泛的WebService框架之一了. 这里使用Axis2来开发和部署一个最简单的WebS ...
- 使用python2与python3创建一个简单的http服务(基于SimpleHTTPServer)
python2与python3基于SimpleHTTPServer创建一个http服务的方法是不同的: 一.在linux服务器上面检查一下自己的python版本:如: [root@zabbix ~]# ...
- 创建一个简单的HTTP服务(自动查找未使用的端口)
var t = new Thread(new ThreadStart(() => { HttpListener listener = new HttpListener(); var prefix ...
- WCF服务二:创建一个简单的WCF服务程序
在本例中,我们将实现一个简单的计算服务,提供基本的加.减.乘.除运算,通过客户端和服务端运行在同一台机器上的不同进程实现. 一.新建WCF服务 1.新建一个空白解决方案,解决方案名称为"WC ...
随机推荐
- SGU 217. Two Cylinders
题意:给空间内两根圆柱,求轴线垂直相交时公共部分的体积. 暴力积分即可. ID: Date'n'Time: Name: Task: .Ext: Status: Time: Memory: 158937 ...
- ubuntu安装Shutter截图工具以及设置系统快捷键
一.安装截图工具 Shutter 1. 添加安装包软件源 sudo add-apt-repository ppa:shutter/ppa 2. 更新源并安装 shutter sudo apt-get ...
- 在分享到微信里的网页中,打开qq对话框。
废话不多说,就是要去这个网址把qq申请一下服务. 网址: http://shang.qq.com/v3/widget.html 大概长这样: 2.截取这一段代码: 3.重新分享到微信,因为微信好像有缓 ...
- LoadRunner项目结合抓包工具
LoadRunner项目结合抓包工具 常见的抓包工具包括: 1. Http协议 报文分为"请求","应答"两大类. 请求: 方法-URL-协议/版本 ...
- Python教程(一)Python简介
Python就为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容,被形象地称作“内置电池(batteries included)”.用Python开发,许多功能不必从零 ...
- 11.Spark Streaming源码解读之Driver中的ReceiverTracker架构设计以及具体实现彻底研究
上篇文章详细解析了Receiver不断接收数据的过程,在Receiver接收数据的过程中会将数据的元信息发送给ReceiverTracker: 本文将详细解析ReceiverTracker的的架构 ...
- poj1915 Knight Moves(BFS)
题目链接 http://poj.org/problem?id=1915 题意 输入正方形棋盘的边长.起点和终点的位置,给定棋子的走法,输出最少经过多少步可以从起点走到终点. 思路 经典bfs题目. 代 ...
- (转)一些牛人榜样,多看看他们写的东西(后续整理牛人的blog等)
http://blog.csdn.net/ajian005/article/details/7697761
- file.listFiles()按文件大小、名称、日期排序方法
原文地址:http://blog.csdn.net/dezhihuang/article/details/53287602 按照文件大小排序 public static void orderByLen ...
- Shiro的鉴权方式
一. 怎么用 Shiro 支持三种方式的授权 编程式:通过写 if/else 授权代码块完成: Subject subject = SecurityUtils.getSubject(); if(sub ...