Window Service 计划任务
在ASP.NET中创建计划任务,就我个人而言,用过两种方式,一种是用SQL Server创建,把写好的SSIS包导入SQL Server创建的任务中,设置好时间让它去执行。还有一种就是利用window 服务。接下来我将讲述如何用window service 去创建计划任务,让它在我们设定的时间内执行。
1.新建项目,然后选择Windows服务。如下:

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

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

4.打开 Service1.cs设计界面,从工具箱里面拖一个timer控件进来,检查我们的程序是否到了执行时间了。

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

6.添加一个 Scheduler.cs(自己命名) 里面写入我们需要执行的逻辑代码。对于作业通常会需要设置执行时间,执行的周期,比如星期一到星期五,哪几天执行,几点钟执行等。我们可以建立相关表,存储设置的执行时间和周期,然后在代码里去判断时间是否符合,如果符合就继续执行。当然在这里我为了举例方便,就只写一个很简单的方法。
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 "));
}
}
}
}
7.在Service1.cs里面去调用
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();
}
}
}
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。这时,我们打开服务管理界面,可以看到我们安装的服务。

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

代码下载:https://github.com/Aulanto/window-service-scheduler.git
Window Service 计划任务的更多相关文章
- C# window service的创建
其实我也是第一次在博客园写博客,看到那些高手说自己要多动手写博客,于是乎自己也尝试尝试. 废话不多说.这几天在研究window service,通过查找各种大神写的博客,我终于成功的自己写出来了. 下 ...
- 创建 window service 定时任务
参考文章:http://www.cnblogs.com/jack-liang/archive/2011/05/20/2051743.html 前段时间做过一个项目,前端系统提供添加定时任务,后端系统要 ...
- window service 开发
为了便于window service的调试和开发. 我整理了一下代码,方便大家查阅 App.config 设置启动时间 timerStart-10点 interval-3600000 1小时检查一次 ...
- C# window Service实现调用有UI的应用程序(关于win xp以后的window系统)
我开发的系统中有一接口程序(这里就称Task,是一个C#的Console Application)经常无故的死掉,导致第二天的数据不能正常解析,所以,我写了一个window service去监视Tas ...
- RabbitMQ.NET In Window Service
工作中要求使用RabbitMQ,以Windows Service 模式启动,中间有遇到一些问题,网上大部分博客有误导倾向, 在这里做一个简单的记录,以免后面的人走坑: 1. 自动重新连接,不需要手动处 ...
- window service 创建
1:vs中创建一个 window servece 2.右键 添加安装程序 3.更改属性视图中的Account属性为LocalService(本地服务) 更改ServiceName为你自己的服务名称 ...
- streambase service 变为 window service启动
1.配置出.sbdeploy文件 2.安装streambase服务 streambase command line :--install-service 即可安装对应的的window service ...
- 【Window Service】关于Window Service的两三事
引言 Window Service通常用于寄宿WCF服务或者定时作业.下面记录一下它的用法. 创建 创建Window Service项目后,可以看到Program和Service1类.Program ...
- C# Window Service安装、卸载、恢复选项操作
using System;using System.Diagnostics;using System.Linq;using System.ServiceProcess; namespace ScmWr ...
随机推荐
- 【百度地图API】如何制作“从这里出发”“到这里去”——公交篇
原文:[百度地图API]如何制作"从这里出发""到这里去"--公交篇 摘要: 百度地图首页上的“从这里出发”“到这里去”,一直是开发者们很热衷的一个功能.那么, ...
- getch()和getchar()之再讨论
原文:getch()和getchar()之再讨论 在C语言的字符处理函数中,getch()和getchar()是经常让人迷惑的两个函数,他们都有一些“奇怪的”特点让初学者摸不着头脑.两个函数有很多相似 ...
- C语言宏的高级应用
原文:C语言宏的高级应用 关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号.比如 ...
- Sqlserver2008安装部署文档
Sqlserver2008部署文档 注意事项: 如果你要安装的是64位的服务器,并且是新机器.那么请注意,你需要首先需要给64系统安装一个.net framework,如果已经安装此功能,请略过这一步 ...
- 3-05. 寻求倒数第二链线性表K项目(15)(STL list应用 ZJU_PAT)
主题链接:http://pat.zju.edu.cn/contests/ds/3-05 给定一系列正整数,请设计一个尽可能高效的算法.查找倒数第K个位置上的数字. 输入格式说明: 输入首先给出一个正整 ...
- javascript7
语句:条件,循环,跳转, 表达式语句,复合语句和空语句,声明语句,var,function,条件语句,switch,循环,标签语句,break语句,continue语句,return语句,throw语 ...
- PHP激活用户注册验证邮箱
本文将结合实例介绍如何使用PHP+Mysql完成注册帐号.发送激活邮件.验证激活帐号.处理URL链接过期的功能. 注册邮箱激活流程 <ul class='ul_demo''> <li ...
- 为网上流行论点“UIAutomator不能通过中文文本查找控件”正名
1. 问题描述和起因 相信大家学习UIAutomator一开始的时候必然会看过一下这篇文章. Android自动化测试(UiAutomator)简要介绍 因为你在百度输入UIAutomator搜索的时 ...
- [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)
原文:[推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之四: 把游标说透(不怕做不到,只怕想不到) 继上两篇:ORACLE PL ...
- libvlc media player in C# (part 2)
原文 http://www.helyar.net/2009/libvlc-media-player-in-c-part-2/ I gave some simplified VLC media play ...