天天看點

windows service 基礎類ServiceBase類ServiceController類 ServiceInstaller類 ServiceProcessInstaller類

ServiceBase 所有Window服務的基類

ServiceController 該類的一個執行個體代表一個具體的windows服務

ServiceControllerPermission 用于控制ServiceController的使用權限

ServiceInstaller 用于執行對windows服務的安裝

ServiceProcessInstaller 用于執行對windows服務的安裝,與上類的不同的是,該類可以代表一個可以執行的windows服務的程序.

ServiceBase類

ServiceBase方法:

方法 描述
Run() 運作一個windows服務
OnContinue() 繼續執行服務
OnCustomCommand() 向windows服務發出自定指令
OnPause() 暫停正在運作的windows服務
OnPowerEvent() 當計算機的電源狀态改變是調用
OnShutDown() 當系統關閉條用OnStart()開始一個windows服務
OnStop() 結束一個windows服務

ServiceBase屬性:

屬性 描述
AutoLog 表示是否将開始,結束,暫停,繼續等指令寫入事件日志
CanHandlePowerEvent 表示該服務是否支援電源事件
CanPauseAndContinue 表示該服務是否支援暫停和繼續功能
CanShutDown 表示該服務是否支援關閉功能
CanStop 表示該服務是否支援結構功能
EventLog 應用程式的時間日志
ServiceName 該服務名稱

ServiceController類 

服務控制類,用于控制windows服務的各種具體行為,它既可以控制本地的windows服務,有可以控制遠端的windows服務。

方法 描述
GetDivices() 得到一台計算機上裝置驅動器服務
GetServices() 得到一台計算上的非裝置驅動器服務
Close() 用于斷開服務連接配接,并且釋放服務控制器所占用的資源
Continue() 繼續被暫停的服務
ExcuteCommand() 對服務執行一條自定義指令
Pause() 暫停服務
Refresh() 對所有屬性更新
Start() 啟動服務
Stop() 停止服務
WaitForStatus() 等待服務到達指定的狀态
屬性 描述
CanPauseAndContinue 表示服務是否可以停止
CanShutDown 表示服務在系統關閉時是否可以得到通知,CanStop表示伺服器是否可以被停止
DependentServices 表示與服務相關聯的裝置
DisplayName 表示服務控制器所綁定的名稱
MachineName 表示服務所在的計算機名稱
ServiceName 表示綁定的服務名稱
ServiceType 表示控制器所引用的服務類型
ServicesDependedOn 表示服務所依賴ude服務集合Status表示控制器所引用的服務狀态

ServiceInstaller類 

屬性 描述
DisplayName 顯示名稱
ServiceName 表示服務名稱,這個名稱必須與Installer将要安裝的windows服務名稱相同
ServiceDependOn 服務所要用到的其服務名稱的一個數組
StartType 表示所安裝服務的啟動特性,可以為Automatic,Manual或Disable,預設為Manual

ServiceInstaller事件

方法 事件
AfterInstaller() 調用Install方法後發生
AfterRollback() 調用Rollback後發生
AfterUninstall() 調用Uninstall方法後發生
BeforeInstall() 調用Install方法前發生
BeforeRollback() 調用Rollback方法前發生
BeforeUninstall() 調用Uninstall方法前發生
Committed() 調用Commit方法後發生
Committing() 調用Commit方法前發生

ServiceProcessInstaller類

用于安裝ServiceBase繼承的windows服務,它與一個可執行程式中的所有服務所做基本工作相同

ServiceProcessInstaller屬性

屬性 描述
Account 運作服務的目前使用者賬号
HelpText 在服務安裝選項中給出的幫助資訊
Password 運作服務的目前賬号密碼
UserName 運作服務的目前賬号使用者名