C 對Windows服務的開發 除錯 安裝和解除安裝

2021-09-28 19:57:25 字數 1990 閱讀 5894

windows服務是可以在系統啟動時自動開啟的程式,執行在後台處理一些事務。本文主要介紹c#對服務的開發以及安裝和解除安裝。

在專案建立成功後,下面的兩個方法是服務的啟動和停止入口。

//例項化mainservice

private readonly mainservice service = new mainservice()

;///

/// 服務啟動

///

///

protected override void

onstart

(string[

] args)

///

/// 服務停止

///

protected override void

onstop()

我這裡將服務啟動後與停止後要執行的**封裝到乙個mainservice類裡面。如下:

class mainservice

; _mainthread.

start()

;}///

/// 服務停止

///

public void

stop()

///

/// 啟動執行緒後,要執行的程式,我這裡是寫日誌。

///

private void

writelog()

if(!file.

exists

(@"e:\windowsservice\servicetest.txt"))

_servicerun = true;

int i =0;

string s ="";

while

(_servicerun)

thread.

sleep

(5000);}}}

這樣的話我就可以在例項化mainservice後呼叫start方法開始執行服務要做的事情,當然停止也是可以自己設定的,我這裡用來停止執行緒和停止while迴圈。

服務控制項serviceinstaller1可以對服務的一些屬性進行配置。

可以配置服務的名稱和描述。

下面是服務的安裝,我這裡用的是installutil.exe進行的安裝。首先要在管理員模式下進入dos黑窗體,然後切換到編譯好的服務目錄下面,最後用installutil.exe進行安裝。

cd e:windowsservice\bin\debug

c:\windows\microsoft.net\framework\v4.

0.30319\installutil windowsservice.exe

當出現下面提示時說明你安裝成功了。

安裝成功後可以在系統服務中看到自己寫的服務了。服務名稱和描述是上面設定好的。

當然解除安裝也很簡單,只要將安裝的指令碼加/u就可以了。

cd e:windowsservice\bin\debug

c:\windows\microsoft.net\framework\v4.

0.30319\installutil /u windowsservice.exe

最後是服務的除錯,需要在服務安裝成功後,並啟動服務才可以進行除錯。用附加到程序,然後找到你開發的服務附加上去就可以了。

c 開發windows服務

摘自 微軟的專案模板能很好的支援windows服務開發,如c 的windows服務專案 c 開發的話,也不難,使用一些api就能實現,下附 cpp view plain copy include stdafx.h include windows.h define service name srv d...

C 開發windows服務

windows下無法像linux那樣直接執行nohup等命令執行後台程式,只能呼叫相應api做成服務。服務可以在沒有任何使用者登入計算機的情況下執行。c 建立windows 服務比較方便,直接派生 system.serviceprocess.servicebase,但是只支援windows xp。1...

c 開發windows服務

1.首先新增乙個windows服務程式 2.在 protected override void onstart string args 中加入我們的業務邏輯 3.在我們的gateservice中的設計頁面,新增安裝程式 4.配置安裝程式serviceprocessinstaller1和service...