這篇文章主要講解了“怎么用C#實現WINDOWS服務程序”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么用C#實現WINDOWS服務程序”吧!
在做C# WINDOWS服務之前先熟悉一下C# WINDOWS服務程序在C#中的寫法。
1.在VS.NET2003中新建一個WINDOWS服務程序的項目WinSrv_A。
2.更改SERVICE1.CS屬性SERVICENAME為你所要建立的服務名稱,在服務管理器->名稱中你可以看到你的服務名
3.按F7進入代碼窗口,里面有2個重載函數是你要在其中寫代碼的一個是
//protected override void OnStart(string[] args) //{...} //這個函數是你啟動服務后執行的函數 //protected override void OnStop() //{...}//這個函數是你停止服務后執行的函數
我這里簡單的做一個記錄啟動和終止服務的時間的功能。寫如日志文檔。
protected override void OnStart(string[] args) { // TODO: 在此處添加代碼以啟動服務。 String s = System.DateTime.Now.ToString(); if(!File.Exists("c:\\srvlog.txt")) { StreamWriter sr = File.CreateText("c:\\bbbirdlog.txt"); sr.WriteLine("-------------------------START SRV---------------------"); sr.WriteLine ("我的新服務在{0}時間開始",s); sr.WriteLine ("我可以寫整型 {0} or 浮點型 {1},等等.",1, 4.2); sr.Close(); } else { StreamWriter sr = File.AppendText("c:\\bbbirdlog.txt"); sr.WriteLine("-------------------------START SRV---------------------"); sr.WriteLine ("我的新服務在{0}時間開始",s); sr.WriteLine ("我可以寫整型 {0} or 浮點型 {1},等等.",1, 4.2); sr.Close(); } } /// /// 停止此服務。 /// protected override void OnStop() { // TODO: 在此處添加代碼以執行停止服務所需的關閉操作。 String s1 = System.DateTime.Now.ToString(); if(!File.Exists("c:\\srvlog.txt")) { StreamWriter sr = File.CreateText("c:\\bbbirdlog.txt"); sr.WriteLine("-------------------------STOP SRV---------------------"); sr.WriteLine ("我的新服務在{0}時間停止",s1); sr.Close(); } else { StreamWriter sr = File.AppendText("c:\\bbbirdlog.txt"); sr.WriteLine("-------------------------STOP SRV---------------------"); sr.WriteLine ("我的新服務在{0}時間停止",s1); sr.Close(); } }
4.回到設計窗口點右鍵選擇添加安裝程序生成serviceInstaller1和serviceProcessInstaller1兩個組件
把serviceInstaller1的屬性ServiceName改寫為你的服務程序名,并把啟動模式設置為AUTOMATIC
把serviceProcessInstaller1的屬性account改寫為LocalSystem
5.編譯鏈接生成服務程序。
6.用.net framework工具INSTALLUTIL安裝服務程序即可。
感謝各位的閱讀,以上就是“怎么用C#實現WINDOWS服務程序”的內容了,經過本文的學習后,相信大家對怎么用C#實現WINDOWS服務程序這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。