.NET開發windows 服務初探

來源:互聯網
上載者:User

      最近項目需要3方狀態同步,就是PDM、CAD、還有一個即時通訊的工具,因為這些東西都不是一種語言開發的。所以怎麼做到這點有些麻煩。以資料庫為基礎是肯定的了,那怎麼才能完成這個監控呢,我先設計監控系統進程,加上資料庫判斷,可是這樣做會給軟體造成效能的影響。於是想到使用系統服務來完成這個中轉。當然只是設想,能不能完成還是未知數。
      開啟C#項目,找到了windows服務項目,建立一個進去。設計介面是組件的形式。切入進程式碼檢視:哇,都給寫好了:
     系統給好的3個函數:Main,Start,Stop
     簡單的寫個測試的函數:
  private void WriteLog(string content)
  {
   string fPath=@"d:\Windows服務\log.txt";
   StreamWriter sWriter=null;
   if(!File.Exists(fPath))
    File.Create(fPath);
   try
   {
    sWriter=new StreamWriter(fPath,true);
    sWriter.WriteLine(content);
   }
   catch(System.Exception err)
   {
    throw new Exception("服務寫入錯誤",err);
   }
   finally
   {
    sWriter.Close();
   }
   
  }
在start函數中加入他,產生。執行————〉提示不能直接執行。需要Installer。
沒辦法,去網上查了下。
原來在組件介面右擊——〉添加安裝項目,ok
按照網上的設定好屬性:
設定serviceInstaller1組件的屬性: 
    1) ServiceName = My Sample Service
    2) StartType = Automatic 
設定serviceProcessInstaller1組件的屬性 
    1) Account = LocalSystem
產生,用InstallUtil.exe註冊一下。在.net命令提示字元下輸入InstallUtil 服務名.exe
提示註冊成功。
在服務管理中找到剛剛註冊的服務啟動。
d:\Windows服務\log.txt 察看
果然添加了“服務啟動...”的資訊。
哈哈,第一次嘗試windows服務,不知道能不能在實際中起到應有的作用。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.