创建简单的Window Service 实例

1。 新建一个Window Service类型项目:

创建简单的Window Service 实例

2。 增加Window Service 业务功能。用一个计时器模拟xml文件解析,具体实现省,并记日志。Service1代码:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.ServiceProcess; using System.Text; namespace WindowsService1 { public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); if (!System.Diagnostics.EventLog.Exists("XML文件解析")) { System.Diagnostics.EventLog.CreateEventSource("XML文件解析服务","XML文件解析"); } this.eventLog.Log = "XML文件解析"; this.eventLog.Source = "XML文件解析服务"; } protected override void OnStart(string[] args) { // TODO: Add code here to start your service. if (this.timer == null) { eventLog.WriteEntry("解析启动!时间:" + System.DateTime.Now.ToShortTimeString()); timer = new System.Timers.Timer(); this.timer.Interval = 1 * 60 * 1000; this.timer.Enabled = true; this.timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed); } } void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { this.timer.Stop(); this.eventLog.WriteEntry("解析文件中,时间:" + System.DateTime.Now.ToShortTimeString()); System.Threading.Thread.Sleep(30 *1000); this.eventLog.WriteEntry("解析成功, 时间:" + System.DateTime.Now.ToShortTimeString()); this.timer.Start(); } protected override void OnStop() { // TODO: Add code here to perform any tear-down necessary to stop your service. if (this.timer != null) { this.timer.Enabled = false; this.timer.Stop(); this.timer.Dispose(); this.eventLog.WriteEntry("服务停止,时间:" + System.DateTime.Now.ToShortTimeString()); } } } }

3。安装服务。 在Service1.cs[Design]右击“Add Installer" 安装服务、服务的安装必须用installutil.exe ,此文件在 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727>目录下,build一下工程,生成一个exe文件,然后找到所在目录,运行,如同:

创建简单的Window Service 实例

4。 安装服务后,就会在windows服务找到安装的服务。

创建简单的Window Service 实例

5. 把服务设置为启动,此时服务就会启动。查看日志:

创建简单的Window Service 实例

6。卸载服务:

创建简单的Window Service 实例