1、建立 >> 項目 >> Visual C# >> Windows >> Windows服務;
2、一般服務程式中我們都需要使用到 Timer 組件,建議不要使用 System.Windows.Forms.Timer 組件,因為它可能會產生不可預料的“罷工”問題;應使用 System.Timer 組件;可以在 Service 的 OnStart 過程中編寫如下:
protected override void OnStart(string[] args)
{
Timer timer = new Timer(1000);
timer.Elapsed += new ElapsedEventHandler(DoAnything); //使用Elapsed事件,其中DoAnything就是你需要處理的事情
timer.AutoReset = true;
timer.Enabled = true;
}
private void DoAnything(object sender, System.Timers.ElapsedEventArgs e)
{
.... 你需要做的事情寫這裡
}
3、寫完之後,最終是需要將它安裝到 Windows 服務中,因此需要在現有工程中 添加 >> 建立項 >> 安裝程式類,取名叫:ProjectInstaller.cs;在類中還需要兩個控制項支援,分別是:serviceInstaller 與 serviceProcessInstaller,這兩個組件在 .net 2.0 包中已經包含,只是預設不顯示在工具箱中,可以從工具箱中增加“選擇項”,將它們找出來。其中serviceInstaller可以設定服務的顯示名稱、說明、運行方式(建議設定成自動:Automatic)等資訊;serviceProcessInstaller用於設定服務啟動並執行賬戶身份,推薦設定成:LocalSystem(本地賬戶);
一切就緒後,Ctrl + Alt +B 編譯器,服務程式基本上就到此完成!此時服務程式只是編譯好了,並未最終安裝到WINDOWS 服務中,還需要寫一段批處理用於註冊該服務程式,以下提供批次檔代碼。
installService.bat(註冊與啟動)
==================
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe 服務程式絕對路徑
net start 服務名
unInstallService.bat(卸載與停止)
==================
net stop 服務名
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -u 服務程式絕對路徑