C# 创建Windows服务。服务功能:定时操作数据库
一、创建window服务
1、新建项目-->选择Windows服务。默认生成文件包括Program.cs,Service1.cs
2、在Service1.cs添加如下代码:
System.Timers.Timer timer1; //计时器
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args) //服务启动执行
{
timer1 = new System.Timers.Timer();
timer1.Interval = 3000; //设置计时器事件间隔执行时间
timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Elapsed);
timer1.Enabled = true;
}
protected override void OnStop() //服务停止执行
{
this.timer1.Enabled = false;
}
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//执行SQL语句或其他操作
}
二、添加window服务安装程序
1、打开Service1.cs【设计】页面,点击右键,选择【添加安装程序】,会出现serviceInstaller1和serviceProcessInstaller1两个组件
2、将serviceProcessInstaller1的Account属性设为【LocalSystem】, serviceInstaller1的StartType属性设为【Automatic】,ServiceName属性可设置服务名称,此后在【管理工具】--》【服务】中即显示此名称
3、ProjectInstaller.cs文件,在安装服务后一般还需手动启动(即使上述StartType属性设为【Automatic】),可在ProjectInstaller.cs添加如下代码实现安装后自动启动
public ProjectInstaller()
{
InitializeComponent();
this.Committed += new InstallEventHandler(ProjectInstaller_Committed);
}
private void ProjectInstaller_Committed(object sender, InstallEventArgs e)
{
//参数为服务的名字
System.ServiceProcess.ServiceController controller = new System.ServiceProcess.ServiceController("服务名称");
controller.Start();
}
三、安装、卸载window服务
1、输入cmd(命令行),输入cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319,2.0为cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
2、安装服务(项目生成的exe文件路径)
InstallUtil "E:\WindowsService1\bin\Debug\WindowsService1.exe"
3、卸载服务
InstallUtil /u "E:\WindowsService1\bin\Debug\WindowsService1.exe"
四、查看window服务
services.msc
控制面板-->管理工具-->服务,可在此手动启动,停止服务
五、调试window服务
1、通过【事件查看器】查看
2、直接在程序中调试(菜单-->调试-->附加进程-->服务名(这里的服务名是项目名称,不是ServiceName属性自定义的名称,所以建议自定义名称和项目名称保持一致,另外需勾选【显示所有用户的进程】才能看到服务名)-->附加
这里附加的进程名应该是:WindowsService1.exe 而不是 WindowsService1.vshost.exe。WindowsService1.exe 默认不会出现,必须勾选【显示所有用户的进程】【显示所有会话中的进程】
3. 在程序中打断点调试即可,另外调试服务时服务必须已启动(管理工具-->服务)
例子 http://files.cnblogs.com/lyl6796910/NC.JPushNotification.rar
C# 创建Windows服务。服务功能:定时操作数据库相关推荐
- 【C#】C#创建Windows Service服务
目录结构: contents structure [+] 创建Windows服务 配置 安装Windows服务 在Visual Studio中调试 常见问题 最近写了一个TCP连接的程序,由于这种通信 ...
- Windows批处理脚本的定时操作
问题: Windows批处理中没有像Linux中一样的sleep函数,在一些需要计时的场景则会比较难以处理. 解决: 人类的智慧是无穷地,很多替代地方法被发掘,只要是和定时有关的windows命令,差 ...
- 微信服务号通过Excel操作数据库发送消息的开发流程
开发流程 前置准备 配置公众号 代码开发 功能使用 前置准备 1 申请服务号,获得服务号账号/密码. 具体参见[转载:关于申请微信公众号(服务号)的材料和流程]https://blog.csdn.ne ...
- java用来创建数据库连接的接口是_Java操作数据库--JDBC
简介 刚开始介绍了mysql基本语句,但是你会觉得好像不会知道怎么用,它的用途在什么地方,所以为了提高兴趣今天我们来介绍一下JDBC,以后会和MySQL一起更新. JDBC,到底jdbc是什么东西呢? ...
- mysql 动态创建事件_mysql 通过事件定时为数据库创建动态表名
#检测事件是否开启 show variables like 'event_scheduler'; #开启事件(最好在my.init设置,因为重启后还会变回默认值OFF) set global even ...
- 计算机搜索功能关闭,提高电脑性能关闭Windows Search搜索功能设置技巧
Windows8系统中是有自带很多的系统执行功能的,Windows Search就是可以帮助我们快速搜索到电脑中的文件照片等等Windows Search服务数据的查找功能,有小伙伴发现自己的系统中根 ...
- ajax定时取数据库,ajax定时访问数据库数据
ajax定时访问数据库数据 内容精选 换一换 旨在帮助用户周期性的备份重要的库表数据或者SQL结果集,以便数据丢失时及时恢复.存储位置:系统将把加密后的文件存储在OBS桶中.AK/SK:访问密钥即AK ...
- 如何修改服务器凭据,如何更改操作数据库帐户的用户凭据
适用于: System Center 2012 SP1 - Service Manager,System Center 2012 R2 Service Manager,System Center 20 ...
- 创建windows服务,定时监控网站应用程序池
最近网站总是报"Timer_Connection"错误,导致该网站所使用的应用程序池由于错误过多停止运行,网站也就出现了service unvaliable,无法访问,在网上查了很 ...
最新文章
- 微型计算机的典型应用场景,单片机有哪些类型和应用场景?-MCU解决方案
- 如何理解傅立叶级数、傅立叶变换公式?
- cpri带宽不足的解决方法_u盘容量不足怎么办 u盘容量不足解决方法【介绍】
- pythonsql注入_python使用mysql,sql注入问题
- Invisor for Mac(媒体文件检查工具)v3.14免激活版
- TensorFlow中查看checkpoint文件中的变量名和对应值
- 常用freemarker使用文档
- Three.js贴图效果一览
- Steam的Hacknet的账户损坏问题
- 电影票(水题 杭电排位赛-6)
- 支付宝接口 设置支付宝订单的超时时间为15分钟
- 湖北经济学院法商学院计算机分数线,湖北经济学院法商学院2018年各省及各专业录取分数线及最低录投档线【理科 文科】...
- 决定重新安装windows2016datacenter 系统。原先的俄罗斯版没虚拟机功能
- 微信公众号验证Token
- PS 图像调整算法——反相
- 20211213电子物证培训学习笔记
- 智慧市政解决方案-最新全套文件
- 图像处理库中图片缩放参数分析
- word 禁用dtd_如何在Word 2013中禁用屏幕提示
- No address associated with hostname 没有添加网络权限的错误