一、创建一个Windows Service
1)创建Windows Service项目
2)对Service重命名
将Service1重命名为你服务名称,这里我们命名为ServiceTest。
二、创建服务安装程序
1)添加安装程序
之后我们可以看到上图,自动为我们创建了ProjectInstaller.cs以及2个安装的组件。
2)修改安装服务名
右键serviceInsraller1,选择属性,将ServiceName的值改为ServiceTest。
3)修改安装权限
右键serviceProcessInsraller1,选择属性,将Account的值改为LocalSystem。
三、写入服务代码
1)打开ServiceTest代码
右键ServiceTest,选择查看代码。
2)写入Service逻辑
添加如下代码:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.ServiceProcess; using System.Text; using System.Data.SqlClient; namespace WindowsService { public partial class Service1 : ServiceBase { System.Timers.Timer timer1 = new System.Timers.Timer(); public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true)) { sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "Start."); } timer1.Interval = 1000; timer1.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick); timer1.Enabled = true; timer1.Start(); } protected override void OnStop() { this.timer1.Stop(); } private void timer1_Tick(object sender, EventArgs e) { using (System.IO.StreamWriter sw = new System.IO.StreamWriter("C:\\log.txt", true)) { sw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss ") + "time."); } SqlConnection conn = new SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=mfm123"); SqlCommand comm = new SqlCommand("insert into tb1(a,b)values (‘111‘,11)", conn); conn.Open(); comm.ExecuteNonQuery(); conn.Close(); } } }
四、安装
cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
InstallUtil.exe
路径\WindowsServiceTest.exe
net start ServiceTest
\\这个是我们的服务名
为了方便,我们可以把这段代码放到 .bat 文件里直接执行就可以了!
执行就安装和启动了我们刚才建立的 windows 服务了!
五、卸载
如果我们想要删除,卸载这个服务的话,我们可以执行这段代码
cd
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
InstallUtil.exe /u
路径\WindowsServiceTest.exe
六、调试Windows
Service
1)安装并运行服务
2)附加进程
3)在代码中加入断点进行调试
原文:http://www.cnblogs.com/fangkuai/p/3660649.html