C# 使用TopShelf實現Windows服務部署


一、TopShelf介紹

    topShelf是創建Windows服務的一種方式,可以方便管理應用服務,最大廣泛應用於,數據實時接收,定時推送等。

二、TopShelf使用

    1、安裝 TopShelf程序包

      

 

 

   2、編碼 

 1 HostFactory.Run(x =>
 2             {
 3                 x.UseLog4Net();
 4                 x.Service<TownCrier>(s =>
 5                 {
 6                     s.ConstructUsing(name => new TownCrier());
 7                     s.WhenStarted(tc => tc.Start());
 8                     s.WhenStopped(tc => tc.Stop());
 9                 });
10                 x.RunAsLocalSystem();
11                 x.SetDescription("QuartzJob任務定時發送");
12                 x.SetDisplayName("QuartzJob");
13                 x.SetServiceName("QuartzJob");
14 
15                 x.EnablePauseAndContinue();
16             });

 

       其中Run方法的回調參數方法,在運行時執行,方法內是一些配置信息。

       其中TownCrier類是我們服務實現類,服務啟動時通過WhenStarted調用對應實現的OnStart,停止一樣。

       RunAsLocalSystem()表示以本地系統賬號運行,可選的還有網絡服務和本地服務賬號。

       SetDescription("Topshelf測試例子"); 設置服務的描述

       SetDisplayName("TopshelfExample"); 設置服務的顯示名稱

       x.SetServiceName("TopshelfExample"); 設置服務的名稱

 

      TownCrier服務類:

 1 public class TownCrier
 2     {
 3         readonly Timer _timer;
 4         public TownCrier()
 5         {
 6             _timer = new Timer(1000) { AutoReset = true };
 7             _timer.Elapsed += (sender, eventArgs) => Console.WriteLine("---------------------DateTime: {0} ------------------- ", DateTime.Now);
 8         }
 9         public void Start() { _timer.Start(); }
10         public void Stop() { _timer.Stop(); }
11     }

    3、安裝

    使用管理員打開CMD窗口

    

     安裝服務 server.exe install

     啟動服務 server.exe start

     停止服務 server.exe stop

     卸載服務 server.exe uninstall


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM