成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C#Windows服務程序開發的體會

開發 后端
C#Windows服務程序開發的體會主要向你介紹了C#Windows服務程序開發的一些細節的總結。希望對你學習C#Windows服務程序開發有所幫助。

C#Windows服務程序開發是如何的呢?本文將較為詳細的介紹如何在.net下開發Windows服務程序,并將簡要介紹一些開發中的調試技巧及后期的部署問題.

IDE:VS2005, DotNetFramework Version:2.0.50727

Windows服務程序開發的結果:Windows服務程序通常是一種在OS的后臺長期運行的程序,根據需要你可以設置為隨服務器啟動而同時啟動等等,在傳統的C/S結構的程序開發中,Windows服務更是以Server端普遍存在.在.NET應用程序中,無論是Winform下的應用還是ASP.NET,Windows服務也都非常重要,比如我們可以把一個.Net Remoting服務端封裝在一個windows服務中,來達到穩定提供服務的目的.

切入正題,首先我們來了解如何在VS下開發基于.Net的windows服務.

實際上,在VS下建立一個windows服務程序非常的簡單,微軟幫我們做了80%的工作,我們所需要做的只是處理那20%的業務工作.

Windows服務程序開發首先,我們建立一個Windows Service程序,VS提供了現成的項目模版,選擇Files->New->Project->Windows->Windows Service

Windows服務程序開發模板 

之后,你將獲得兩個文件Service組件和Program.cs.我們要建立服務的話,首先需要添加專用的安裝組件,這步同樣很簡單,選擇服務組件,并切換到設計模式,右鍵->Add Installer,生成了了安裝文件,切換到設計模式,這里你將看到兩個組件:ServiceInstaller和ProcessInstaller,這里沒有太多需要說明的,大部分是對服務的名稱,描述等信息的設置,只有2個地方需要注意下.一個是StartType,有三種選擇自動,手動,禁用.如果想要自動啟動,那么遍選擇Automatic即可.另一個需要注意的屬性是Account,選擇用戶,一般情況下,我們選擇Local System即可.

到現在,如果我們想要建立一個服務,實際上已經結束了,只需要在服務組件的OnStart和OnStop等函數中加上個人的業務處理.在Program.cs文件中,是如下代碼:

  1. static void Main()  
  2.  
  3. {  
  4.  
  5. ServiceBase[] ServicesToRun;  
  6.  
  7. // More than one user Service may run within the same process. To add  
  8.  
  9. // another service to this process, change the following line to  
  10.  
  11. // create a second service object. For example,  
  12.  
  13. //  
  14.  
  15. //   ServicesToRun = new ServiceBase[] {new Service1(), new MySecondUserService()};  
  16.  
  17. //  
  18.  
  19. ServicesToRun = new ServiceBase[]   
  20.  
  21. new Service1() };  
  22.  
  23. ServiceBase.Run(ServicesToRun);  
  24.  

這段代碼用于啟動服務.

接下來的工作就是安裝服務.你可以通過制作安裝包實現,或者直接通過命令行來執行安裝.

當你編譯完項目后,你可以在bin/debug目錄下看到擴展名為.exe的可執行文件,這就是服務程序,但直接雙擊是無法運行的,你需要通過特定的工具來安裝它,微軟提供給我們的工具就是installutil.exe.這個程序位于%SystemRoot%\Microsoft.NET\Framework\/%Version%\,version指的是.net版本號.

安裝一個服務程序,我們是在命令行內鍵入:installutil.exe  服務程序路徑.如果是要刪除某個服務則是installutil.exe /u 服務程序路徑.

執行了安裝操作后,我們去控制面版->管理工具->服務中就可以看到我們的服務程序了.

Windows服務程序開發之管理工具 

Windows服務程序開發最后,談談調試中的技巧.

編寫這種Windows服務程序,調試起來非常的麻煩,而且每次有所變化后,還得頻繁的去執行installutil和installutil /u命令,實際上,我們可以通過編寫一些BuildEvents來大大簡化這其中的煩瑣工作.這里,我們在BuildEvents編寫如下事件:

  1. net stop YourServiceName  
  2.  
  3. copy /y "$(TargetDir)" "$(ProjectDir)bin" 
  4.  
  5. "%SystemRoot%\Microsoft.NET\Framework  
  6. \v2.0.50727\InstallUtil.exe" /u $(ProjectDir)bin\$(TargetFileName)  
  7.  
  8. "%SystemRoot%\Microsoft.NET\Framework\  
  9. v2.0.50727\InstallUtil.exe"  $(ProjectDir)bin\$(TargetFileName)  
  10.  
  11. net start YourServiceName 

Windows服務程序開發簡單解釋下:

停止當前服務->把debug目錄下所有東西copy到bin目錄下->執行反安裝操作->執行安裝操作->啟動服務.

最后把該事件設置為OnSuccessfulBuild即可.

由于是服務程序,如果想要直接debug比較的麻煩,可以通過附加進程來調試大多數代碼,但是如果想要調試OnStart和OnStop方法.則只能通過其他的項目來調試.具體見這篇文章的介紹.

實際上,我們可以直接在OnStart()方法中通過EventLog.WriteEntry("Hi,I'm wiseman");來向事件查看器中寫入一些你感興趣的信息,很大程度上可以解決debug的問題.

以上大致的介紹了下如何在.net下編寫windows服務程序,以及一些相關的技巧.該文也是閱讀我之后的某些文章需要掌握的知識,這個月我會盡量抽些時間多寫幾篇有關Windows服務和企業服務以及Remoting技術綜合起來的應用的文章。

C#Windows服務程序開發的相關介紹內容就到這里,希望對你學習和了解C#Windows服務程序開發有所幫助。

【編輯推薦】

  1. C#WINDOWS服務交互的實現
  2. C#Windows服務程序編寫淺析
  3. C#Windows服務程序開發軟件功能需求
  4. C#Windows服務程序開發之Windows服務淺析
  5. C#Windows服務程序安裝淺析
責任編輯:仲衡 來源: 百度空間
相關推薦

2009-08-14 14:25:09

Windows服務程序

2009-08-14 14:45:03

C#Windows服務

2009-08-14 15:19:38

Windows服務程序Windows服務

2009-08-14 14:17:16

C#Windows服務

2009-08-14 16:24:00

Windows服務程序

2009-08-14 15:47:18

C#Windows服務

2009-08-14 15:06:08

Windows服務程序

2009-08-14 16:48:39

C#Windows服務

2009-08-14 10:50:09

Windows服務介紹

2009-08-14 13:41:13

C#Windows服務

2009-08-14 14:53:55

WINDOWS服務交互

2009-08-14 17:27:30

C#Windows應用

2009-08-14 17:36:20

C#Windows應用

2009-08-14 17:55:52

C#Windows應用

2009-08-14 17:43:20

C#Windows應用

2009-08-14 11:15:19

文件監視C#Windows服務

2009-08-14 16:13:25

C#windows服務

2009-08-14 10:42:16

Timer控件的使用C#windows服務

2009-08-14 18:00:22

C#Windows應用

2009-08-14 18:04:59

C#Windows應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜丰满少妇一级毛片 | 中文字幕一区二区三区四区 | 国产午夜精品久久久久免费视高清 | 欧美精品一区二区三区蜜桃视频 | 99re视频在线免费观看 | 国产精品一区二区av | av在线免费观看网站 | 午夜www | 国产乱xxav| 国产精品视频专区 | 日本网站在线看 | 日韩一区二区在线视频 | 亚洲精品中文字幕在线 | 99久久久久久 | 可以在线观看av的网站 | 亚州综合在线 | 亚洲福利 | 国产美女视频 | 国产在线a| 999久久久 | 国产一区二区电影 | 国产一区2区 | 男女网站免费 | 亚洲精品视频在线 | 亚洲女人天堂网 | 国产精品日本一区二区不卡视频 | 亚洲日本欧美 | 蜜臀网 | 色一情一乱一伦一区二区三区 | 色综合久 | 久久久av一区 | 妹子干综合 | 在线免费观看毛片 | 一区二区在线不卡 | 欧美在线精品一区 | 福利网址 | 成年人免费看的视频 | 精国产品一区二区三区四季综 | 久久99精品久久久久子伦 | 国产在线激情视频 | 国产男女视频网站 |