如果你不需要這個Service了,仍然使用InstallUtil這個程序來卸載,不過在InstallUtil後跟參數 –u,比如installutil –u F:\Programs\C#\TestService\TestService\bin\Debug\testserveice.exe。
Service的調試方法與普通的程序調試方法是不一樣的。我來介紹一下。
1. Build你的項目
2. 設置斷點,因為我們的Service非常的簡單,沒有什麼執行邏輯,所以設置斷點沒有任何意義,大家可以自己寫一些代碼來實踐。一般來說,我們服務裡需要用到一個另外的線程來執行任務,你需要在線程的執行代碼中來設置斷點。
3. 安裝service,我們前邊有介紹如何安裝。
4. 如果你的Service啟動類型是手動(Manual),你需要到“服務”裡啟動你的Service.一般來說,如果你的service在開發階段,我推薦你將Service的啟動類型設置為Manual,這樣便於調試,因為如果service在運行過程中,你將無法build工程。
5. 在VS中,從菜單中選擇Debug->Attach Process…。,將會出現下圖:
裡邊列出了正在運行的進程,如果你找不到自己的service,請選中Show processes from all users.在Available processes列表中選中我們的service所在的進程TestService,然後點擊Attach按鈕,如果你設置的斷點合理的話,那麼,程序就會停在斷點處,接下來你就可以進行調試了。、
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
namespace TestService
{
public partial class MyFirstService : ServiceBase
{
public MyFirstService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
// TODO: Add code here to start your service.
eventLog1.WriteEntry("Service start");
}
protected override void OnStop()
{
// TODO: Add code here to perform any tear-down necessary to
stop your service.
eventLog1.WriteEntry("Service stop");
}
}
}