一、什麼是windows服務
Windows服務應用程式是一種需要長期啟動並執行應用程式,它對於伺服器環境特別適合。它沒有使用者介面,並且也不會產生任何可視輸出。任何使用者訊息都會被寫進Windows事件記錄。電腦啟動時,服務會自動開始運行。它們不要使用者一定登入才運行,它們能在包括這個系統內的任何使用者環境下運行。通過服務控制管理員,Windows服務是可控的,可以終止、暫停及當需要時啟動。
本文示範建立一個windows服務的基本步驟,和使用InstallUtil.exe來發布服務,使之運行在機器上。主要功能就是在服務啟動和結束的時候記下日誌,同時每隔一定時間記錄下程式作業記錄。
二、建立windows服務的步驟
1.建立項目——windows服務
2.給Service1.cs編寫代碼
todo... code is here。。。
注意:此處的Timer是Syste.Timers.Timer,而不是System.Windows.Forms.Timer,具體區別請看另一篇文章。
三、安裝windows服務前的配置
windows服務不同於通常的windows應用程式,光通過一個簡單的exe程式執行是不夠的,還需要.Net Framework提供的InstallUtil.exe工具來完成,把程式添加到windows服務中去,這樣便於InstallUtil.exe或者其它別的安裝程式知道你的服務是怎樣配置的。
3.添加windows服務安裝程式
1. 將這個服務程式切換到設計檢視
2. 右擊設計檢視選擇"添加安裝程式"
3. 切換到剛被添加的ProjectInstaller的設計檢視
4. 設定serviceInstaller1組件的屬性:
1) ServiceName = 我的第一個windows服務
2) StartType = Automatic
5. 設定serviceProcessInstaller1組件的屬性
1) Account = LocalSystem
6. 產生解決方案
到此為止,這個服務已經產生,接下來需要用InstallUtil.exe來安裝windows服務。
四、使用InstallUtil.exe安裝windows服務
1.Win+R開啟cmd命令提示行
2.切換目錄到項目所在檔案夾的bin\debug目錄,
3.執行命令 InstallUtil.exe MyWindowsService.exe 來註冊這個服務
注意:直接運行InstallUtil.exe可能會失敗,提示'InstallUtil.exe' 不是內部或外部命令,也不是可啟動並執行程式或批次檔。
因為系統找不識別這個命令,不過可以在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727 目錄下找到該工具。
4.右擊"我的電腦"——服務列表中就有建立的windows服務了。