標籤:
這裡我以一個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服務