偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C#創(chuàng)建Windows服務(wù)詳細(xì)介紹

開發(fā) 后端
這里介紹用C#創(chuàng)建Windows服務(wù),要創(chuàng)建一個新的 Windows 服務(wù),可以從Visual C# 工程中選取 Windows 服務(wù)(Windows Service)選項,給工程一個新文件名,然后點擊 確定。

C#語言有很多值得學(xué)習(xí)的地方,這里我們主要介紹用C#創(chuàng)建Windows服務(wù),包括介紹將安裝程序添加到服務(wù)應(yīng)用程序等方面。

Windows服務(wù)在Visual Studio 以前的版本中叫NT服務(wù),在VS.net啟用了新的名稱。用Visual C# 創(chuàng)建Windows服務(wù)不是一件困難的事,本文就將指導(dǎo)你一步一步創(chuàng)建一個Windows服務(wù)并使用它。這個服務(wù)在啟動和停止時,向一個文本文件中寫入一些文字信息。

第一步:C#創(chuàng)建Windows服務(wù)框架
要創(chuàng)建一個新的 Windows 服務(wù),可以從Visual C# 工程中選取 Windows 服務(wù)(Windows Service)選項,給工程一個新文件名,然后點擊 確定。

你可以看到,向?qū)蚬こ涛募性黾覹ebService1.cs類:

其中各屬性的含意是:
◆Autolog:是否自動寫入系統(tǒng)的日志文件
◆CanHandlePowerEvent:服務(wù)時候接受電源事件
◆CanPauseAndContinue:服務(wù)是否接受暫?;蚶^續(xù)運行的請求
◆CanShutdown 服務(wù)是否在運行它的計算機(jī)關(guān)閉時收到通知,以便能夠調(diào)用 OnShutDown 過程
◆CanStop:服務(wù)是否接受停止運行的請求
◆ServiceName:服務(wù)名

第二步:向服務(wù)中增加功能
在.cs代碼文件中我們可以看到,有兩個被忽略的函數(shù) OnStart和OnStop。

OnStart函數(shù)在啟動服務(wù)時執(zhí)行,OnStop函數(shù)在停止服務(wù)時執(zhí)行。在這里,當(dāng)啟動和停止服務(wù)時,向一個文本文件中寫入一些文字信息,代碼如下:

  1. protected override void OnStart(string[] args)  
  2. {  
  3. FileStream fs = new FileStream(@"d:\mcWindowsService.txt" , 
    FileMode.OpenOrCreate, FileAccess.Write);  
  4. StreamWriter m_streamWriter = new StreamWriter(fs);  
  5. m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);  
  6. m_streamWriter.WriteLine("mcWindowsService:  
  7. Service Started"+DateTime.Now.ToString()+"\n");  
  8. m_streamWriter.Flush();  
  9. m_streamWriter.Close();  
  10. fs.Close();  
  11. }  
  12. protected override void OnStop()  
  13. {  
  14. FileStream fs = new FileStream(@"d:\mcWindowsService.txt" , 
    FileMode.OpenOrCreate, FileAccess.Write);  
  15. StreamWriter m_streamWriter = new StreamWriter(fs);  
  16. m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);  
  17. m_streamWriter.WriteLine(" mcWindowsService: 
    Service Stopped "+DateTime.Now.ToString()+"\n");  
  18. m_streamWriter.Flush();  
  19. m_streamWriter.Close();  
  20. fs.Close();  

第三步: 將安裝程序添加到服務(wù)應(yīng)用程序

Visual Studio.NET 隨附有安裝組件,可用來安裝與服務(wù)應(yīng)用程序相關(guān)聯(lián)的資源。安裝組件在正在安裝到的系統(tǒng)上注冊一項單個的服務(wù),并使服務(wù)控制管理器知道該服務(wù)的存在。

要正確安裝服務(wù),并不需要在安裝程序中進(jìn)行任何特殊編碼。但是,如果需要向安裝進(jìn)程添加特殊功能,則可能偶爾需要修改安裝程序的內(nèi)容。

將安裝程序添加到服務(wù)應(yīng)用程序的步驟是:
1:在解決方案中,訪問要向其中添加安裝組件的服務(wù)的Design視圖。
2:在屬性窗口中,單擊添加安裝程序鏈接,這時項目中就添加了一個新類 ProjectInstaller 和兩個安裝組件 ServiceProcessInstaller 和 ServiceInstaller,并且服務(wù)的屬性值被復(fù)制到組件。
3:若要確定如何啟動服務(wù),請單擊 ServiceInstaller 組件并將 StartType 屬性設(shè)置為適當(dāng)?shù)闹怠?BR>◆Manual      服務(wù)安裝后,必須手動啟動。
◆Automatic    每次計算機(jī)重新啟動時,服務(wù)都會自動啟動。
◆Disabled     服務(wù)無法啟動。
4:將serviceProcessInstaller類的Account屬性改為 LocalSystem,這樣,不論是以哪個用戶登錄的系統(tǒng),服務(wù)總會啟動。

第四步:C#創(chuàng)建Windows服務(wù)程序

通過從生成菜單中選擇生成來生成項目。注意:不要通過按 F5 鍵來運行項目——不能以這種方式運行服務(wù)項目。

第五步:安裝服務(wù)

訪問項目中的已編譯可執(zhí)行文件所在的目錄。
用項目的輸出作為參數(shù),從命令行運行 InstallUtil.exe。在命令行中輸入下列代碼:
installutil yourproject.exe

【編輯推薦】

  1. C#類和結(jié)構(gòu)簡單介紹
  2. C# explicti和implicit詳解
  3. C#編寫ActiveX控件詳細(xì)介紹
  4. C# StringBuilder和String淺析
  5. C#別名指示符學(xué)習(xí)經(jīng)驗
責(zé)任編輯:佚名 來源: cnblogs
相關(guān)推薦

2009-08-25 17:28:23

C#創(chuàng)建DataSet

2009-08-10 16:30:56

C# BitmapDa

2009-08-12 15:34:40

C# DBNull

2009-08-14 11:00:16

C#創(chuàng)建Windows

2009-08-07 16:10:20

C#調(diào)用API

2009-08-26 17:31:59

C# const常量

2009-08-21 15:16:23

C#使用指針

2009-08-03 18:49:17

C#和Java

2009-08-20 15:26:42

C#循環(huán)語句

2009-08-24 18:21:23

C# ListView

2009-08-21 09:23:11

C# GDI+

2009-08-14 17:04:50

C#類型系統(tǒng)

2009-08-13 13:38:30

C#命名規(guī)范

2009-08-27 14:32:15

C#編寫ActiveX

2009-08-06 14:59:36

C#編譯器

2009-08-13 15:40:28

C#基礎(chǔ)知識

2011-06-08 13:35:18

C#數(shù)據(jù)類型

2009-09-03 09:40:57

C#創(chuàng)建表單

2009-08-13 16:02:29

C#結(jié)構(gòu)

2009-08-28 17:45:19

C#自定義數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號