Service 創建windows服務應用程序

 

1 什麼是Windows服務
        Windows服務應用程序是一種需要長期運行的應用程序,它對於服務器環境特別適合。它沒有用戶界面,並且也不會產生任何可視輸出。任何用戶消息都會被 寫進Windows事件日誌。計算機啓動時,服務會自動開始運行。它們不要用戶一定登錄才運行,它們能在包括這個系統內的任何用戶環境下運行。通過服務控 制管理器,Windows服務是可控的,可以終止、暫停及當需要時啓動。

2 創建一個Windows服務
        我們即將創建的這個服務是用來監視文件是否被改動的,只要指定的目錄下的文件被改動,都會記入日誌的。下面就讓我們來創建這個Windows服務。

        Visual Studio .NET能夠使創建一個Windows服務變成相當簡單的一件事情。(1)打開Visual Studio.net
(2)新建一個Windows服務項目,選取“Visual C#”項目,然後在選取Windows服務模板
(3)將項目名稱設置爲WatchFileService單擊確定
(4)將Service1.cs重命名爲WatchFile.cs
(5)轉到WatchFile.cs的設計畫面,設置屬性窗口中的ServiceName屬性爲WatchFileService,並從工具——〉組件中拖放FileSystemWatcher和EventLog到設計畫面,拖放後的結果,如圖:
               

(6)設置fileSystemWatcher1的Filter屬性爲*.txt,Path屬性爲c:\temp
(7)設置eventLog1的source屬性爲fileSystem-Watcher1
(8)雙擊fileSystemWatcher1,添加如下代碼:

private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
{
    eventLog1.WriteEntry(e.Name 
+ " 這個文件在:"+DateTime.Now.ToString() + “ 被改動了!”);
}


3 使用Installer類
(1)將 WatchFile.cs切換到設計畫面,在WatchFile的屬性窗口下方按下“添加安裝程序”選項。VS.net會自動添加一個 ProjectInstaller.cs文件,這個文件的設計畫面包含兩個控件——serviceProcessInstaller1和 serviceInstaller1,畫面如圖
              

(2)設置serviceProcessInstaller1控件的Account屬性爲“LocalSystem”
(3)編譯這個項目,可以在項目的bin\debug目錄下找到WatchFileService.exe的文件

3 安裝Windows 服務
(1)進入命令提示符模式,開始菜單——〉程序——〉Micosoft Visual Sdudio.net2003——〉Visual Sdudio.net工具——〉Visual Sdudio.net 2003命令提示
(2)在命令提示下進入項目文件夾\bin\debug目錄
(3)輸入installutil WatchFileService.exe,安裝服務成功,結果如圖 
       

(4)若要刪除這個服務,則輸入installutil /u WatchFileService.exe

4 設置服務爲自動啓動
        將ProjectInstaller.cs轉到設計狀態,修改serviceInstaller1組件的StartType屬性爲Automatic,這樣服務安裝後,當操作系統重新啓動後,服務就會自動啓動。

5 調試Windows服務
        從另外的角度度看,調試Windows服務絕不同於一個普通的應用程序。調試Windows服務要求的步驟更多。服務不能象你對普通應用程序做的那樣,只 要簡單地在開發環境下執行就可以調試了。服務必須首先被安裝和啓動,這一點在前面部分我們已經做到了。爲了便於跟蹤調試代碼,一旦服務被啓動,你就要用 Visual Studio把運行的進程附加進來(attach)。記住,對你的Windows服務做的任何修改都要對這個服務進行卸載和重安裝。

6 附加正在運行的Windows服務
        爲了調試程序,有些附加Windows服務的操作說明。這些操作假定你已經安裝了這個Windows服務並且它正在運行。

(1)用Visual Studio裝載這個項目
(2)點擊“調試”菜單
(3)點擊“進程”菜單
(4)確保 顯示系統進程 被選
(5)在 可用進程 列表中,把進程定位於你的可執行文件名稱上點擊選中它
(6)點擊 附加 按鈕
(7)點擊 確定
(8)點擊 關閉
(9)在fileSystemWatcher1_Changed方法裏設置一個斷點,然後等它執行

7 效果
(1)在c:\temp目錄下新建一個文本文件,並編輯該文件
(2)打開事件查看器工具中的應用程序日誌,可以看到有日誌項目生成,
               

 

文章轉自:http://www.cnblogs.com/fineboy/archive/2005/08/12/213462.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章