Microsoft Windows 服務(過去稱爲 NT 服務)容許用戶建立可在其自身的 Windows 會話中長時間運行的可執行應用程序。(微軟爸爸是這麼解釋,簡單介紹)
個人理解,它就是一個掛載在咱們系統上的服務,咱們系統上服務其實有不少,好比咱們的Sql數據庫的服務:MSSQLSERVER,這個是啓動數據庫的一個服務,開啓這個服務咱們才能鏈接本地的安裝的SQL。那WindowService應該也是一個這樣的服務,能夠理解是一個可讓咱們自定義開發的服務。
數據庫
安裝以後,目錄會添加新文件
windows
用的多的屬性:服務器
到此,一個服務就寫好,只是他尚未任何靈魂(業務邏輯)app
當前類有3個方法:運維
public Service1() { InitializeComponent(); eventLog1 = new System.Diagnostics.EventLog(); if (!System.Diagnostics.EventLog.SourceExists("MySource")) { System.Diagnostics.EventLog.CreateEventSource( "MySource", "MyNewLog"); } eventLog1.Source = "MySource"; eventLog1.Log = "MyNewLog"; } protected override void OnStart(string[] args) { eventLog1.WriteEntry("In OnStart."); LogHelper.loginfo.Info("In OnStart."); } protected override void OnStop() { eventLog1.WriteEntry("In OnStop."); LogHelper.loginfo.Info("In OnStop."); }
這裏,我使用兩種日誌進行打印咱們的日誌信息ide
Eventlog:(日誌數量有限制,超過必定的數量就不會在顯示了)
log4net:(自定義,想怎麼存,怎麼存【推薦】)
函數
InstallUtil.exe C:\**\test\bin\Debug\test.exe
如上圖標識已經安裝成功!工具
輸入命令:學習
net start 你定義的服務的名稱【二:如何建立WindowService=>2.添加安裝程序=>DisplayName】
如上圖表示啓動成功3d
輸入命令:
net stop 你定義的服務的名稱【二:如何建立WindowService=>2.添加安裝程序=>DisplayName】
如上圖表示關閉成功
輸入命令:
InstallUtil.exe /u C:\**\test\bin\Debug\test.exe
如上圖表示卸載成功
1.找到 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools】,找到工具:Developer Command Prompt for VS 2019 啓動 2.輸入InstallUtil.exe D:\**\**.exe,回車安裝服務 3.輸入:net start SundyService (啓動服務) 4.輸入:net stop SundyService (中止服務) 5.輸入InstallUtil.exe /u D:\**\**.exe 卸載服務
我爲何要作這個WindwoService,是公司須要作一個運維軟件,須要編寫一個Windows服務,我也是看着官方文檔學習的,業務邏輯比較簡單, 開發也挺快的。
本身對Window服務理解,咱們其實這種服務也是一個程序,只是它集成到Windows系統服務中,這樣有一個好處,能夠設置開機自動啓動,並且還神不知鬼不覺,在客戶電腦上安裝,客戶也不知道,咱們是作運維監控,不是幹壞事。能夠把一些須要執行的任務,作成服務,放在服務器或本身電腦服務上,就能夠自動跑,設置開機自起。