除了通過.net提供的windows服務模板外,Topshelf是創建Windows服務的另一種方法。
官網教程:http://docs.topshelf-PRoject.com/en/latest/configuration/quickstart.html
優點:
1.可以直接調試運行。
2.命令更方便。
3.Topshelf是一個開源的跨平臺的宿主服務框架,支持Windows和Mono
下載:
Install-Package Topshelf
開發:
0.創建服務 1.安裝 2.啟動 3.停止 4.卸載 5.調試服務 6.監控服務
創建服務:
1.使用Topshelf創建服務非常簡單。構建任何一個class ,提供一個啟動和停止的方法即可。
2.本節使用System.Timers.Timer做定時任務處理
class MyService { readonly Timer timer = new Timer(); public MyService() { timer.Interval = 1000; timer.Elapsed += (s, e) => File.AppendAllText("d://1.txt",DateTime.Now.ToLongTimeString()+"/r/n"); } public void Start() { timer.Start(); } public void Stop() { timer.Stop(); } }
當創建完一個服務后,需要配置指定服務和指定啟動停止的方法。
class Program { static void Main(string[] args) { HostFactory.Run(x => { //要配置的服務 x.Service<MyService>(c => { c.ConstructUsing(name => new MyService()); c.WhenStarted(s => s.Start()); c.WhenStopped(s => s.Stop()); }); //服務的運行身份 x.RunAsLocalSystem(); x.SetDescr安裝:
a.cd 定位到程序目錄. b.程序以管理員身份運行 c.程序名 install
啟動:
start 程序名
停止:
stop 程序名
卸載:
uninstall 程序名
調試服務:
直接運行,即可調試
監控:
使用ServiceController來獲取服務狀態或對服務進行控制。
這個類可以獲取服務的狀態,屬性,對服務也可以進行啟動,停止操作
代碼下載:點擊下載
新聞熱點
疑難解答