首页 > Windows开发 > 详细

Window Service 创建作业

时间:2014-02-25 13:40:21      阅读:397      评论:0      收藏:0      [点我收藏+]

在ASP.NET中创建作业,就我个人而言,用过两种方式,一种是用SQL Server创建,把写好的SSIS包导入SQL Server创建的作业中,设置好时间让它去执行。还有一种就是利用window 服务。接下来我将讲述如何用window service 去创建作业,让它在我们设定的时间内执行。

 1.新建项目,然后选择Windows服务。如下:

bubuko.com,布布扣

2.右键空白处,选择“添加安装程序”。

 bubuko.com,布布扣

3.右键 serviceProcessInstaller1,选择属性,将Account的值改为LocalSystem。目的是为了保证无论哪个用户使用这台电脑都能启动服务。

bubuko.com,布布扣

4.打开 Service1.cs设计界面,从工具箱里面拖一个timer控件进来,检查我们的程序是否到了执行时间了。目的是为了保证无论哪个用户使用这台电脑都能启动服务。

bubuko.com,布布扣

 5.右键timer,选择属性,切换到事件,给timer控件绑定一个tick事件.

bubuko.com,布布扣

6.添加一个 Scheduler.cs(自己命名) 里面写入我们需要执行的逻辑代码。对于作业通常会需要设置执行时间,执行的周期,比如星期一到星期五,哪几天执行,几点钟执行等。我们可以建立相关表,存储设置的执行时间和周期,然后在代码里去判断时间是否符合,如果符合就继续执行。当然在这里我为了举例方便,就只写一个很简单的方法。

bubuko.com,布布扣
namespace WindowsServiceDemo {

    class Scheduler {

        static void Record() {

            using (System.IO.StreamWriter sw = new System.IO.StreamWriter("E:\\log.txt", true)) {
                sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss "));
            }
        
        }

    }
}
bubuko.com,布布扣

7.在Service1.cs里面去调用 

bubuko.com,布布扣
namespace WindowsServiceDemo {
    public partial class Service1 : ServiceBase {
        public Service1() {
            InitializeComponent();
        }

        protected override void OnStart(string[] args) {

            timer1.Enabled = true;
            timer1.Start();

            timer1_Tick(timer1, null);
        }

        protected override void OnStop() {
            timer1.Stop();
        }

        private void timer1_Tick(object sender, EventArgs e) {

            Scheduler.Record();

        }

    }
}
bubuko.com,布布扣

8.安装window 服务

1)安装脚本Install.bat

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe WindowsServiceDemo.exe
Net Start Service1
sc config Service1 start= auto

2)卸载脚本Uninstall.bat

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u WindowsServiceDemo.exe

把这两个脚本和最后生成的作业放在同一目录,然后运行Install.bat。这时,我们打开服务管理界面,可以看到我们安装的服务。

 bubuko.com,布布扣

然后再打开E盘,可以看到record方法执行成功。

bubuko.com,布布扣

Window Service 创建作业

原文:http://www.cnblogs.com/qiuyan/p/3564931.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!