Windows服務在Visual Studio 以前的版本中叫NT服務,在VS.Net啟用了新的名稱。用Visual C# 創建Windows服務不是一件困難的事,本文就將指導你一步一步創建一個Windows服務並使用它。這個服務在啟動和停止時,向一個文本文件中寫入一些文字信息。
第一步:創建服務框架
要創建一個新的 Windows 服務,可以從Visual C# 工程中選取 Windows 服務(Windows Service)選項,給工程一個新文件名,然後點擊 確定。
你可以看到,向導向工程文件中增加WebService1.cs類:
其中各屬性的含意是:
ü Autolog 是否自動寫入系統的日志文件
ü CanHandlePowerEvent 服務時候接受電源事件
ü CanPauseAndContinue 服務是否接受暫停或繼續運行的請求
ü CanShutdown 服務是否在運行它的計算機關閉時收到通知,以便能夠調用 OnShutDown 過程
ü CanStop 服務是否接受停止運行的請求
ü ServiceName 服務名
第二步:向服務中增加功能
在 .cs代碼文件中我們可以看到,有兩個被忽略的函數 OnStart和OnStop。
OnStart函數在啟動服務時執行,OnStop函數在停止服務時執行。在這裡,當啟動和停止服務時,向一個文本文件中寫入一些文字信息,代碼如下:
protected override void OnStart(string[] args)
{
FileStream fs = new FileStream(@"d:\mcWindowsService.txt" , FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine("mcWindowsService: Service Started"+DateTime.Now.ToString()+"\n");
m_streamWriter.Flush();
m_streamWriter.Close();
fs.Close();
}
protected override void OnStop()
{
FileStream fs = new FileStream(@"d:\mcWindowsService.txt" , FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);