程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用C#創建Windows Service(2)

用C#創建Windows Service(2)

編輯:關於C語言

如果你不需要這個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");
    }
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved