Mcad學習筆記之Microsoft Windows服務

來源:互聯網
上載者:User

相關文章導航
  1. Sql Server2005 Transact-SQL 新兵器學習總結之-總結
  2. Flex,Fms3相關文章索引
  3. FlexAir開源版-全球免費群組視訊聊天室,免費網路遠程群組視訊會議系統((Flex,Fms3聯合開發))<視訊交談,會議開發執行個體8>

 

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,該類的使用比較簡單。具體大家可以參考說明文檔。 我寫了3個關於windows服務的使用小程式

大家需要可以下載

壓縮包中代碼說明:TransactionService項目是一個windows服務,該服務實現了一個自訂日誌和一個自訂效能計數器,我們先安裝此服務TransactionClient項目是通過一個win視窗來控制該服務ServiceController項目也是通過一個win視窗來控制該服務

收藏與分享

收藏到QQ書籤  添加到百度搜藏 {
function onclick()
{
window.open('http://myweb.cn.yahoo.com/popadd.html?url='+encodeURIComponent(document.location.href)+'&title='+encodeURIComponent(document.title), 'Yahoo','scrollbars=yes,width=440,height=440,left=80,top=80,status=yes,resizable=yes');
}
}">添加到雅虎收藏

RSS訂閱我 什麼是RSS?

     
        
     
     

東莞.net俱樂部

歡迎您的加入

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.