C#開發可以可視化操作的windows服務

來源:互聯網
上載者:User

標籤:

 這裡我以一個WCF的監聽服務為例,因為我是做一個局域聊天室,需要伺服器端監聽終端,所以我就開發了一個服務,以便控制此監聽服務。然而,我們開發的windows服務,預設情況下是無法可視化的操作的,這裡我就額外的開發一個工具來對此服務進行操作,如下:

開發步驟1、“建立項目”——“Window服務”

Program.cs代碼:
    using System;      using System.Collections.Generic;      using System.Linq;      using System.Text;      using System.ServiceModel;      using System.ServiceModel.Description;      using System.ServiceProcess;            namespace MSMQChatService      {          class Program          {              static void Main()              {                  #region 服務啟動入口,正式用                        ServiceBase[] ServicesToRun;                  ServicesToRun = new ServiceBase[] {  new MQChatService()  };                  ServiceBase.Run(ServicesToRun);                       #endregion              }          }  

MQChatService.cs代碼如下:

    protected override void OnStart(string[] args)              {                  //開啟服務  這裡就是你想要讓服務做的操作                  StartService();              }  
3、切換到MQChatService的可視化介面
4、在可視化介面,單擊滑鼠右鍵,

將會出現一個Installer為尾碼的新介面,預設好像是Project Installer.cs,我這裡將其重新命名為ServiceInstaller.cs

分別對介面上這兩個組件進行屬性配置,具體的屬性簽名可以查看屬性面板的最下面(右下角處)

好了,我們的windows服務已經開發好了,接下來就開發一個可視化的控制器,來控制服務的安裝、卸載、啟動和停止。

1、  建立一個windows程式,名稱ServiceSetup,Form1重新命名為FrmServiceSetup,

介面控制項如下:

Program.cs代碼如下:

 View Code

主介面代碼:

 View Code

建立一個類,專門用於日誌操作LogAPI.cs,這裡的日誌路徑和名稱建議從設定檔中讀取

 View Code

Windows服務的操作類ServiceAPI.cs

 View Code

注意:記得將服務程式的dll拷貝到可視化安裝程式的bin目錄下面。

C#開發可以可視化操作的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.