1 大概思路
設計服務程序
創建服務
安裝必備組件
編寫Service1
運行效果
2 設計服務程序
創建服務程序,通過添加System.Timers時鐘進行定時向Wecome.txt寫入文本。
3 創建服務
創建項目、安裝項目
(通過工具箱添加System.Timers組件,系統時鐘組件,不同於System.Windows.Forms)
4 安裝必備組件
5 編寫Service1
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Linq; using System.ServiceProcess; using System.Text; using System.IO; namespace WindowsServiceDemo { public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); } /// <summary> /// 標識開始 /// </summary> private string flag = string.Empty; /// <summary> /// 允許時鐘開始 /// </summary> private bool isBegin = true; protected override void OnStart(string[] args) { flag = "開始時間:"; this.timer1.Enabled = true; } protected override void OnStop() { } /// <summary> /// 9000毫秒調度一次,即9秒高度一次 /// create by zhyongfeng in 2014-03-26 /// </summary> /// <param name="sender">object</param> /// <param name="e"> System.Timers.ElapsedEventArgs</param> private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { //開始 if (!isBegin) return; isBegin = false; try { FileStream nFile = new FileStream(System.AppDomain.CurrentDomain.BaseDirectory + "Wecome.txt", FileMode.Append, FileAccess.Write); StreamWriter writer = new StreamWriter(nFile); writer.WriteLine(flag + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); writer.WriteLine("Welcome to Write:" + DateTime.Now.ToFileTimeUtc().ToString()); writer.WriteLine(); writer.Close(); LogUtility.Logging(Process.GetCurrentProcess().MainModule.ModuleName, Process.GetCurrentProcess().MachineName, Process.GetCurrentProcess().MainModule.ModuleName, LogUtility.EVENT.EVENT_WARNING, "新增了"); } catch { } isBegin = true; } } }
查看本欄目
6 運行效果
開始->運行->services.msc,可見如下圖
開始->運行->eventvwr.msc,可見如下圖
7 總結
Windows服務可通過修改以下屬性,通過System.Timers組件達到自動控制的功能,針對一些運行周期長的數據可通過Windows服務處理(如通過捕捉大量數據收發郵件等)。
serviceInstaller1屬性值說明
Manual:服務安裝後,必須手動啟動。
Automatic :每次計算機重新啟動時,服務都會自動啟動。
Disabled: 服務無法啟動。
源代碼下載:
http://files.cnblogs.com/yongfeng/WindowsServiceDemo.rar
PDF下載:
Windows服務程序時鐘調用.pdf
Windows服務創建文檔.pdf