程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Mcad學習筆記之Microsoft Windows服務

Mcad學習筆記之Microsoft Windows服務

編輯:關於ASP.NET

Windows服務是在後台運行的

它沒有用戶界面,比較適合處理不要與用戶交互的任務

它可以運行在win2000,winXp,WinNt等操作系統上

關於如何編寫簡單windows服務應用程序

大家可以參考

http://chs.gotdotnet.com/QuickStart/howto/default.aspx?url=/quickstart/howto/doc/SimpleService.aspx

我在這裡就個人的學習心得,做了一個小總結:

Microsoft Windows服務使用System.ServiceProcess空間的類來創建,安裝,控制

其中:

類System.ServiceProcess.ServiceBase用來創建服務

類System.ServiceProcess.ServiceInstaller和System.ServiceProcess.ServiceProcessInstaller用來安裝服務

ServiceInstaller類擴展ServiceBase來實現服務。在安裝服務應用程序時由安裝實用工具調用該類

ServiceProcessInstaller安裝一個可執行文件,該文件包含擴展 ServiceBase 的類。該類由安裝實用工具(如 InstallUtil.exe)在安裝服務應用程序時調用

讓我們先來認識ServiceBase的幾個比較重要的屬性和方法:

屬性ServiceName是得到服務的名稱

屬性AutoLog是指示是否在事件日志中報告“開始”、“停止”、“暫停”以及“繼續”命令。

當它為true時,系統會自動在“應用程序”事件日志報告狀態

當將AutoLog 設置為 false,我們可以在事件中處理自己的日志

屬性CanStop是指示服務啟動後是否可以停止

如果為 true,服務可以停止並調用了OnStop 方法

同樣屬性CanShutdown和CanPauseAndContinue,CanShutdown也是類似的意思

虛方法OnStop是在服務收到“停止”命令時進行的,注意當CanStop=false是不調用此方法的

虛方法OnStart是服務收到“開始”命令時進行的

虛方法OnPause是服務收到“暫停”命令時進行的(當CanPauseAndContinue 屬性為true時)

虛方法OnContinue是服務“暫停”後重新啟動時進行的(當CanPauseAndContinue 屬性為true時)

虛方法OnShutdown是計算機系統關閉時發生的(當CanShutdown屬性為true)

虛方法OnPowerEvent是計算機電源狀態更改時執行的(當CanHandlePowerEvent屬性為true)

虛方法OnCustomCommand是服務接到自定義命令時執行的,我在後面提供的代碼中有該方法的實現。

大家只要在自己的代碼中重寫上面的方法即可實現自己的業務邏輯

點每個服務的屬性窗口,會發現有一個“添加安裝程序”的按鈕,它就是vs2003中帶有Windows服務安裝功能

它實際是生成一個安裝類,它繼承了System.Configuration.Install.Installer

編譯後我們得到一exe的程序集

再可使用“.NET 框架 SDK 安裝實用工具”來安裝服務到我們的電腦上

安裝命令:

InstallUtil.exe filename.exe

反安裝命令:

InstallUtil.exe /u filename.exe

服務安裝好以後,我們可以通過windows控制面板裡的服務控制管理器來控制我們的服務運行,當然我們也可以寫代碼來實現控制,這時我們得用到類System.ServiceProcess.ServiceController,該類的使用比較簡單。具體大家可以參考幫助文檔。

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