c#創立windows辦事入門教程實例。本站提示廣大學習愛好者:(c#創立windows辦事入門教程實例)文章只能為提供參考,不一定能成為您想要的結果。以下是c#創立windows辦事入門教程實例正文
用c#中創立一個windows辦事異常簡略,與windows辦事相干的類都在System.ServiceProcess定名空間下。
每一個辦事都須要繼續自ServiceBase類,偏重寫響應的啟動、暫停、停滯等辦法。
windows辦事的相干信息是寄存與注冊表中的,所以他可以在不須要用戶登錄的情形下主動運轉,在c#中你不須要再直接向注冊表中添加信息了,c#供給了辦事裝置類 ServiceProcessInstaller和ServiceInstaller來完成辦事的裝置。
起首,用vs創立一個windows辦事項目
勝利後你可以看到
Program中只包括辦事運轉的相干信息
/// <summary>
/// 運用法式的主進口點。
/// </summary>
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()//這裡是一個數組,意味著我們可以在一個辦事過程中創立多個辦事實例,只須要在這裡加上便可
};
ServiceBase.Run(ServicesToRun);
}
Service1.cs就是我們須要的辦事類,與windows辦事相干的根本操作年夜都可以在這裡找到,如:Start,Stop,Pause,Continue等,我們要做的就是依據這些操作做分歧的處置便可以了。
我們先在辦事Start和Stop時分離記載一條信息到D盤
protected override void OnStart(string[] args)
{
File.AppendAllText("d:" + this.GetType().Name + ".txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss 辦事啟動"));
}
protected override void OnStop()
{
File.AppendAllText("d:" + this.GetType().Name + ".txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss 辦事停滯"));
}
一個簡略的辦事就完成了,下一步添加裝置信息
雙擊項目中的Service.cs轉到辦事設計界面,在空白處右鍵選擇“添加裝置法式”
vs會主動創立一個默許稱號為ProjectInstaller.cs的文件並轉到響應的設計界面
默許添加兩個類 serviceProcessInstaller1和serviceInstaller1,第一個重要用來設置辦事所屬賬戶,關系到辦事的運轉,第二個是辦事信息描寫,如:辦事名、能否主動啟動等
右鍵serviceProcessInstaller1屬性,將Account屬性選擇為LocalSystem
右鍵serviceInstaller1屬性,將StartType屬性設為Automatic(主動啟動),Description為“我的第一個windows辦事”
全體保留後生成,找到生成的法式。
因為windows辦事不克不及經由過程雙擊直接運轉,所以我們須要借助.net供給的InstallUtil.exe來裝置辦事。
按回車開端裝置,勝利後會提醒 “提交”階段已勝利完成,假如掉敗則是“回滾”階段已勝利完成
翻開windows辦事治理器就可以看到我們裝置的辦事,默許辦事裝置勝利後不會連忙啟動,須要我們手動啟動
假如不出不測,會顯示已啟動
到D盤目次下找到Service1.txt,翻開會看到我們填入的信息,解釋我們做的windows辦事曾經勝利了。
要卸載windows辦事可以用InstallUtil.exe /u WindowsService1.exe來卸載或經由過程體系敕令 sc delete 辦事名來卸載。