程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> 用C#開發Windows服務監控系統使用

用C#開發Windows服務監控系統使用

編輯:C#基礎知識

  摘要 本文將向你展示如何用C#開發一個Windows服務來記錄系統使用情況。

  每一個人都想知道他們每天在什麼時間啟動和關閉自己的系統,以及系統每天運行了多少時間。如果用一個DataGrid控件來顯示系統啟動、關閉及所消耗的時間將是一個不錯的主意。

  在本文中,我提供了一種方法來實現這一目標-使用C#開發一個Windows服務。其實,每個人都了解一點Windows服務。但是,為了介紹之目的,我僅盡可能少得解釋一下Windows服務。然後,我們來討論如何設計一個這樣的應用程序。

  一、 什麼是Windows服務?

  其實,Windows服務只是運行於後台的並不要求我們了解的一種進程而已。而且,它們的絕大部分並不要求用戶交互。如果我們在"開始"菜單的"運行"命令行下輸入"services.msc"並回車,那麼我們就可以看到在我們當前的系統中運行的服務情況。其中,有一些服務是當系統啟動時自動啟動的。但是,也有一些服務必須在我們的手工啟動下才能運行。

  二、 Windows服務的優點

  1. 能夠自動運行。

  2. 不要求用戶交互。

  3. 在後台運行。

  一般情況下,Windows服務被用於耗費時間很多的進程中,例如備份數據庫,等等。

  現在,我們要設計一個Windows服務來實現記錄你的系統啟動和關閉需要的時間。我使用Visual Studio 2003設計了這個應用程序。

  三、 設計Windows服務

  第一步:

  首先打開Visual Studio並且選擇Visual C#工程。選擇模板類型為Windows服務,並命名為Monitoring,如下圖所示:

  第二步:

  按F7鍵打開代碼窗口。然後,加入對System.IO命名空間的引用,以便把系統定時功能編寫到一個文件中。下一步,用Monitoring一詞替換所有出現的Service1一詞。之後,轉入設計模式(按鍵shift+F7)。選擇Solution Explorer(按鍵Ctrl+Alt+L)。點擊Service1.cs並且命名它為Monitoring.cs。

  之後,轉入代碼窗口。在OnStart事件中加入下列代碼,如下圖所示:

  在OnStart事件中實現的功能

  首先,在c盤上創建一個xml文件,並命名為file1。然後,在這個文件中建立如下代碼:

  

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<times>

  然後,關閉它。

  我創建了一個服務,它能夠在系統啟動時自動啟動並且記錄下啟動時間。當系統關閉時,它也關閉。而且,它會記錄下關閉時間和系統中所花費的時間。

  首先,我要創建一個StreamWriter來把系統啟動時間寫入file1.xml文件中。

  在把代碼復制到你的OnStart事件後,正好在Monitoring構造器的上面創建一個公共變量temp,如下圖所示:

  此後,把這部分代碼復制到你的代碼窗口:

  再把下面代碼復制到OnStart事件中,如下圖所示:

  

StreamWriter writer=File.AppendText("d:\\file1.xml");
writer.Write("<time>");
writer.WriteLine("<Date> "+ (DateTime.Now.ToString("dd-MM-yy"))+"</Date>");
writer.WriteLine("<started> "+ (DateTime.Now.ToString("t"))+"</started>");
temp=DateTime.Now;
writer.Close();

  在OnShutdown事件中實現的功能

  當系統要關閉時,我使用一個StreamWriter再次打開file1.xml-它將記下系統關閉時間,還將記下在系統啟動和關閉之間所花費的時間跨度。我在OnStart和OnShutdown事件中使用了一個temp變量。在OnStart中,它用於存儲啟動時間。然後,它被再次用於OnShutdown事件中來記下系統啟動和關閉之間所花費的時間間隔。

  然後,我們必須配置我們的Windows服務以便安裝和運行。

  因此,首先轉到設計視圖中,並選擇屬性窗口(可以按下F4)。

  把CanStop和CanShutdown設置為true。在安裝之前,我們必須要安裝一個安裝程序。

  右擊設計視圖窗口,然後選擇"Add Installer"。然後,它將顯示ProjectInstaller.cs。在這個文件中,serviceInstaller1和serviceProcessInstaller1都存在。轉到serviceProcessInstaller1屬性處:

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