.NET4 Windows Service 監控磁碟檔案

來源:互聯網
上載者:User

     曾在VS2008下用C#編寫過WindowsService監控進銷存庫存並且根據相關邏輯傳送簡訊。現在.NET4.0、VS2010中使用C#編寫Windows Service 監控指定目錄檔案。

具體步驟如下:

 

     一、建立WindowsSerivce 工程

     建立 Visual C# windows 目錄下的 Windows Service 工程:"HelloWindowsService"。添加一個 App.config(設定檔,如:指定監控磁碟目錄),一個ErrorLog.txt檔案(記錄服務作業記錄)。如下:

註:為了方便調用App.config 設定檔內容,在工程內需要引入System.Configuration.dll 。

 

    二、為WindowsSerivce編寫監控目錄核心代碼

     代碼如下:

     

 RecordErrorLog 函數記錄了WindowsService 的具體監控內容。OnFileCreated 則是監控目錄,如果有新檔案建立則觸發的事件。這裡使用FileSystemWatcher類。

 

WindowsService 調用代碼:

 

      三、為WindowsSerivce添加Installer

        在第二步中,已經完成為目錄監控事件寫入了簡單的監控代碼。此時還需要為Service添加Installer。Installer內需要設定Service名稱、WindowsService說明等資訊。具體的步驟可以在VS2010可視化介面內完成。步驟如下:

                 1.開啟Service1設計介面點擊滑鼠右鍵

                 2.選擇 Add Installer 欄目

                 3.設定相關屬性

如下:

 

       四、打包WindowsService

     這裡使用Visual Studio Installer 打包 HelloWindowsService 服務。在解決方案內建立一個Visual Studio Installer工程。接著右鍵該工程選擇 添加 ---> Project Output。 如下:

點擊確定:

接著還要為WindowsService添加安裝和卸載功能。右鍵該專案檔(HelloWindowsServiceSetup工程)選擇View後點擊Custom Actions:

右鍵Install後選擇 Add Custom Action,不做任何設定點擊兩次確定,對UnInstall進行同樣的操作。如下:

以上步驟完成後還需要在安裝工程內添加一個已存在的檔案,該檔案就是HelloWindowsService內的日誌記錄檔案“ErrorLog.txt”。

至此,已經為HelloWindowsService添加了安裝和卸載功能。

 

        五、小結

       完成以上步驟後還需要將 ProjectInstaller的serviceProcessInstaller1的Account 屬性設定成 LocalSystem。這樣每次安裝服務就不需要輸入Windows 帳號和密碼。另外如果需要服務安裝成功後自動啟動,還需要修改ProjectInstaller.cs。為其添加AfterInstall事件,在該事件內添加啟動服務代碼。這樣服務安裝完成後就能夠自啟動了。

 

.NET下編寫WindowsService很方便也很簡單。如果您也感興趣.NET下編寫WindowsService那就趕緊嘗試一下吧。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.