C#編寫windows服務程序步驟

 1. 新建一個項目,或者從選擇當前解決方案--右鍵-添加--新建項目 

2. 選擇(項目類型)Visual C#項目,(模板)Windows 服務,填寫要創建的服務名稱(修改默認的WindowService1成爲你自己的服務名稱),然後按確定按鈕. 

3. 資源管理器中默認創建一個WindowsService1的項目,項目下包括一個Service1.cs文件 

4. 左側選擇"工具箱"--"組件",拖動一個Timer對象到Service1.cs [設計]這個頁面窗體上.點擊窗體上的Timers1足見,設置其屬性:Interval屬性數字N(例如200毫秒==1秒進行5次操作) 

5.雙擊這個Timer1組件填加自己所需要的功能函數 
private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) 
  {    
   //本機電腦硬件配置文件 
   string strFileName=@"c:/ComputerInfo.txt";  
   string strTest="硬盤信息+顯卡信息+主板信息+聲卡信息+網卡信息+打印機信息"; 
   //判斷傳送文件是否存在.如果不存在則寫入一行測試信息 
   if (!File.Exists(strFileName)) 
   {   
    File.CreateText(strFileName); 
   } 
   byte[] content=Encoding.UTF8.GetBytes(strTest); 
   //創建文本文件對象 
   FileStream fs=new     FileStream(strFileName,FileMode.OpenOrCreate,FileAccess.ReadWrite); 
   //文件中寫入測試數據 
   fs.Write(content,0,content.Length); 
   //關閉文件對象 
   fs.Close(); 
  } 

6.添加完相應的函數代碼後,從代碼視圖切換到設計視圖,點鼠標右鍵選擇“添加安裝程序” 

7. 然後在當前項目資源管理器中會發現多了一個ProjectInstaller.cs文件,點擊該文件打開ProjectInstaller.cs [設計]窗體.會發現裏面自動有兩個組件"serviceProcessInstaller1"和"serviceInstaller1" 

8. 設置serviceInstaller1組件的屬性:ServiceName = MyService(名字自己隨意修改的)和 StartType = Automatic (開機自動運行方式) 

9. 設置serviceProcessInstaller1組件的屬性:Account = LocalSystem 

10. 選擇當前解決方案,設置方案屬性中的"啓動項目"爲剛纔所添加的項目名稱.按F5運行編譯當前項目,會彈出一個對話框"無法從命令行或者調試器啓動服務,必須首先安裝Windows服務(使用installutil.exe),然後用Server Explorer、Windows服務管理工具或NET START命令啓動它"。錯誤沒有關係,只要當前解決方案/項目文件夾/bin/Debug/文件夾下面多了一個EXE文件就好了. 

至此自己需要的服務基本操作已經完成.剩下來的就是編譯.註冊啓動服務了. 

11.Windows服務器註冊停止 
打開CMD窗口--開始--運行--輸入CMD,回車 
註冊服務命令 
cd C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322 
InstallUtil D:/HardWareServerService.exe 
nets tart ComputerService 

重新註冊服務 
cd C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322 
InstallUtil /u d:/HardWareServerService.exe 
從您的C# 解決方案下拷貝HardWareServerService.exe文件到D盤HardWareServerService.exe 
InstallUtil D:/HardWareServerService.exe 
net start ComputerService 

其中D:/HardWareServerService.exe可以修改成"您當前的解決方案目錄/項目名稱/bin/Debug/HardWareServerService.exe" 

12.啓動剛註冊服務: 顯示桌面-在桌面上右擊“我的電腦”,選擇“管理”就可以打計算機管理控制檯,選擇“服務和應用程序”裏面的“服務”,在右側的服務列表中找到剛註冊的ComputerService服務(默認狀態爲停止),選擇該服務右擊啓動所選擇的ComputerService服務就完成了所有的操作,以後每次開機後就自動啓動運行該服務. 

13.註冊後產生的一個問題 
機器重新啓動後,發現本機的sql server數據庫連接不上,數據庫服務器沒有啓動,手動啓動後會提示錯誤“SQLServer2000發生錯誤1069--由於登陸失敗而無法啓動服務”。解決方法:開始->管理工具->服務,找到MSSQLSERVER服務,右鍵->屬性->登錄,登陸身份選擇此帳戶:輸入用戶名./Administrator,重新輸入密碼和確認密碼,點確定按鈕返回.問題解決!

發佈了46 篇原創文章 · 獲贊 1 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章