日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
聊聊.Net如何實現(xiàn)Windows服務

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

創(chuàng)新互聯(lián)建站專注于平江企業(yè)網站建設,成都響應式網站建設公司,成都商城網站開發(fā)。平江網站建設公司,為平江等地區(qū)提供建站服務。全流程按需求定制制作,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務

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

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

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

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

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

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


本文名稱:聊聊.Net如何實現(xiàn)Windows服務
網站地址:http://m.5511xx.com/article/cdhdhhj.html