成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊聊.Net如何實現Windows服務

開發 后端
Topshelf 是一個開源的跨平臺的宿主服務框架,支持Windows和Mono,只需要幾行代碼就可以構建一個很方便使用的服務宿主。

 [[411065]]

本文轉載自微信公眾號「UP技術控」,作者conan5566。轉載本文請聯系UP技術控公眾號。

Topshelf 是一個開源的跨平臺的宿主服務框架,支持Windows和Mono,只需要幾行代碼就可以構建一個很方便使用的服務宿主。

使用Topshelf可以非常方便的將一個C#控制臺程序部署成為一個Windows Service,使用它可以很方便的構建跨平臺服務寄主,而在調試時直接以控制臺的形式運行即可,非常方便。

TopShelf 安裝不需要依賴 .net framework 框架中的 InstallUtil.exe 工具。

  1. static void Main(string[] args) 
  2.         { 
  3.  
  4.  
  5.             HostFactory.Run(x => 
  6.             { 
  7.                 x.UseAssemblyInfoForServiceInfo(); 
  8.                 x.Service<WriteTxtClass>(w => 
  9.                 { 
  10.                     w.ConstructUsing(name => new WriteTxtClass());  //使用 WriteTxtClass實體 
  11.                     w.WhenStarted(tc => tc.WriteTxtStart());   //開始服務觸發 WriteTxtStart 函數 
  12.                     w.WhenStopped(tc => tc.WriteTxtStop());    //結束服務觸發 WriteTxtStop 函數 
  13.                 }); 
  14.  
  15.  
  16.                 x.SetServiceName("TopShelfService1"); //服務名 
  17.                 x.SetDisplayName("TopShelfService1");//服務顯示名稱 
  18.                 x.SetInstanceName("TopShelfService1"); //服務顯示名稱后面的描敘 
  19.                 x.SetDescription("TopShelfService1 is Test Services"); // 服務描敘 
  20.                 x.RunAsLocalSystem(); 
  21.                 x.StartAutomatically(); 
  22.  
  23.  
  24.             }); 
  25.         } 
  26.  
  27.     public class WriteTxtClass 
  28.     { 
  29.         public void WriteTxtStart() 
  30.         { 
  31.             string filePath = AppDomain.CurrentDomain.BaseDirectory + "log\\test.txt"
  32.             if (!File.Exists(filePath)) 
  33.             { 
  34.                 FileStream stream = new FileStream(filePath, FileMode.Create); 
  35.                 StreamWriter writer = new StreamWriter(stream, Encoding.Default); 
  36.                 writer.WriteLine(DateTime.Now.ToString() + ":Start Service");//寫入一行,寫完后會自動換行 
  37.                 writer.Close();//釋放內存 
  38.                 stream.Close();//釋放內存 
  39.             } 
  40.             else 
  41.             { 
  42.                 FileStream stream = new FileStream(filePath, FileMode.Append);//再原有文件中追加記錄,不覆蓋 
  43.                 StreamWriter writer = new StreamWriter(stream, Encoding.Default); 
  44.                 writer.WriteLine(DateTime.Now.ToString() + ":Start Service");//寫入一行,寫完后會自動換行 
  45.                 writer.Close();//釋放內存 
  46.                 stream.Close();//釋放內存 
  47.             } 
  48.         } 
  49.         public void WriteTxtStop() 
  50.         { 
  51.             string filePath = AppDomain.CurrentDomain.BaseDirectory + "log\\test.txt"
  52.             if (!File.Exists(filePath)) 
  53.             { 
  54.                 FileStream stream = new FileStream(filePath, FileMode.Create); 
  55.                 StreamWriter writer = new StreamWriter(stream, Encoding.Default); 
  56.                 writer.WriteLine(DateTime.Now.ToString() + ":Stop Service");//寫入一行,寫完后會自動換行 
  57.                 writer.Close();//釋放內存 
  58.                 stream.Close();//釋放內存 
  59.             } 
  60.             else 
  61.             { 
  62.                 FileStream stream = new FileStream(filePath, FileMode.Append);//再原有文件中追加記錄,不覆蓋 
  63.                 StreamWriter writer = new StreamWriter(stream, Encoding.Default); 
  64.                 writer.WriteLine(DateTime.Now.ToString() + ":Stop Service");//寫入一行,寫完后會自動換行 
  65.                 writer.Close();//釋放內存 
  66.                 stream.Close();//釋放內存 
  67.             } 
  68.         } 
  69.     } 

安裝和卸載windows服務 TopShelfService.exe install

#安裝Windows服務 TopShelfService.exe uninstall #卸載Windows服務

 

責任編輯:武曉燕 來源: UP技術控
相關推薦

2021-02-07 09:05:56

微服務結構云原生

2024-05-31 08:45:24

2021-06-08 09:28:12

.Net通知服務

2022-04-11 08:17:07

JVMJava進程

2021-05-19 08:04:11

ASP.Net服務性原則

2022-06-17 07:49:14

緩存LRU

2021-07-11 12:12:49

.NETJWTjson

2024-07-08 00:00:02

.NET系統調度器

2010-01-15 16:03:48

VB.NET重載Win

2024-04-15 10:32:14

2024-05-23 11:26:02

2023-08-07 08:32:05

RocketMQ名字服務

2024-01-10 07:23:52

高可用策略實踐

2024-05-23 08:15:03

.NET網頁數據

2017-06-02 08:32:01

調度服務數據

2023-01-03 07:40:27

自定義滑塊組件

2011-09-01 11:08:41

安全登陸Windows服務器網絡安全

2023-12-15 09:57:13

微服務鏈路服務

2021-08-08 11:33:45

Windows 11游戲微軟

2011-08-08 10:35:40

服務器NTFSTDE
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 夜久久| 国产成人jvid在线播放 | 韩日一区二区 | www亚洲精品 | 羞羞网站免费观看 | 男女激情网站免费 | 日韩精品一区二区三区久久 | 最新中文字幕在线 | 99re6热在线精品视频播放 | 免费观看色 | 久久精品国产一区二区电影 | 国产精品久久久久久久久久免费 | 国产精品亚洲片在线播放 | 国产在线播放一区二区三区 | 天天草天天爱 | 成人免费福利 | 成人a视频在线观看 | 宅男噜噜噜66一区二区 | 国产精品美女久久久久 | 女人精96xxx免费网站p | 涩涩视频在线观看免费 | 国产精品日韩在线观看一区二区 | 亚洲国产高清在线观看 | 一区二区三区久久久 | 一区二区三区国产好 | 青青草原综合久久大伊人精品 | 欧美一区二区三区视频在线播放 | 天天综合久久 | 久久亚洲天堂 | 精品视频一区二区三区 | 一区二区三区欧美大片 | 久久久久久国产精品 | 久久成人精品视频 | 欧美一级在线观看 | 国产精品7777777 | 亚洲人一区 | 99精品免费久久久久久久久日本 | 亚洲成av人影片在线观看 | 午夜免费网站 | 国产综合久久 | 永久免费在线观看 |