一、创建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服务。服务功能:定时操作数据库相关推荐

  1. 【C#】C#创建Windows Service服务

    目录结构: contents structure [+] 创建Windows服务 配置 安装Windows服务 在Visual Studio中调试 常见问题 最近写了一个TCP连接的程序,由于这种通信 ...

  2. Windows批处理脚本的定时操作

    问题: Windows批处理中没有像Linux中一样的sleep函数,在一些需要计时的场景则会比较难以处理. 解决: 人类的智慧是无穷地,很多替代地方法被发掘,只要是和定时有关的windows命令,差 ...

  3. 微信服务号通过Excel操作数据库发送消息的开发流程

    开发流程 前置准备 配置公众号 代码开发 功能使用 前置准备 1 申请服务号,获得服务号账号/密码. 具体参见[转载:关于申请微信公众号(服务号)的材料和流程]https://blog.csdn.ne ...

  4. java用来创建数据库连接的接口是_Java操作数据库--JDBC

    简介 刚开始介绍了mysql基本语句,但是你会觉得好像不会知道怎么用,它的用途在什么地方,所以为了提高兴趣今天我们来介绍一下JDBC,以后会和MySQL一起更新. JDBC,到底jdbc是什么东西呢? ...

  5. mysql 动态创建事件_mysql 通过事件定时为数据库创建动态表名

    #检测事件是否开启 show variables like 'event_scheduler'; #开启事件(最好在my.init设置,因为重启后还会变回默认值OFF) set global even ...

  6. 计算机搜索功能关闭,提高电脑性能关闭Windows Search搜索功能设置技巧

    Windows8系统中是有自带很多的系统执行功能的,Windows Search就是可以帮助我们快速搜索到电脑中的文件照片等等Windows Search服务数据的查找功能,有小伙伴发现自己的系统中根 ...

  7. ajax定时取数据库,ajax定时访问数据库数据

    ajax定时访问数据库数据 内容精选 换一换 旨在帮助用户周期性的备份重要的库表数据或者SQL结果集,以便数据丢失时及时恢复.存储位置:系统将把加密后的文件存储在OBS桶中.AK/SK:访问密钥即AK ...

  8. 如何修改服务器凭据,如何更改操作数据库帐户的用户凭据

    适用于: System Center 2012 SP1 - Service Manager,System Center 2012 R2 Service Manager,System Center 20 ...

  9. 创建windows服务,定时监控网站应用程序池

    最近网站总是报"Timer_Connection"错误,导致该网站所使用的应用程序池由于错误过多停止运行,网站也就出现了service unvaliable,无法访问,在网上查了很 ...

最新文章

  1. 微型计算机的典型应用场景,单片机有哪些类型和应用场景?-MCU解决方案
  2. 如何理解傅立叶级数、傅立叶变换公式?
  3. cpri带宽不足的解决方法_u盘容量不足怎么办 u盘容量不足解决方法【介绍】
  4. pythonsql注入_python使用mysql,sql注入问题
  5. Invisor for Mac(媒体文件检查工具)v3.14免激活版
  6. TensorFlow中查看checkpoint文件中的变量名和对应值
  7. 常用freemarker使用文档
  8. Three.js贴图效果一览
  9. Steam的Hacknet的账户损坏问题
  10. 电影票(水题 杭电排位赛-6)
  11. 支付宝接口 设置支付宝订单的超时时间为15分钟
  12. 湖北经济学院法商学院计算机分数线,湖北经济学院法商学院2018年各省及各专业录取分数线及最低录投档线【理科 文科】...
  13. 决定重新安装windows2016datacenter 系统。原先的俄罗斯版没虚拟机功能
  14. 微信公众号验证Token
  15. PS 图像调整算法——反相
  16. 20211213电子物证培训学习笔记
  17. 智慧市政解决方案-最新全套文件
  18. 图像处理库中图片缩放参数分析
  19. word 禁用dtd_如何在Word 2013中禁用屏幕提示
  20. No address associated with hostname 没有添加网络权限的错误

热门文章

  1. 深入探究 Win32 PE 文件格式
  2. PTA 1067 Sort with Swap(0, i) (25 分)(思维)
  3. Flutter 案例学习之:GridView
  4. 论云计算对传统软件工程的影响
  5. 斐波那契数 c 语言实现
  6. MAC 升级到10.10(OS X Yosemite)下apache+php的配置问题
  7. Hive与Hbase结合使用
  8. eclipse 和myEclipse 项目导入
  9. Git related
  10. 单向板的受力示意图_成品单向滑动铰支座的安装使用