中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中怎么創建一個Service模板

發布時間:2021-07-07 16:29:45 來源:億速云 閱讀:107 作者:Leah 欄目:編程語言

C#中怎么創建一個Service模板,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

打開VS 2005,點擊File->New->Project…,在C#創建工程向導中選擇Windows Service模板。

在工程名輸入框中,輸入TestService然后點擊OK.VS為我們生成了最基本的代碼,我們將Service的名稱改為我們期望的名稱,在 solution explorer中右鍵點擊vs自動生成的Service文件“Service1.cs”,在彈出的菜單中選擇Rename,輸入 “MyFirstService”,然后切換到設計視圖,也就是在solution explorer中雙擊MyfirstService.cs,在Property Explorer中將ServiceName屬性改為MyFirstService,這時一個可運行的windows Service已經C#創建成功。我們添加一些代碼來測試一下這個Service,最簡單的測試方式就是向windows event log里來添加一些消息以顯示我們的Service的狀態。

我們需要一個EventLog組件向windows log中添加信息,在solution explorer中雙擊MyfirstSerivce文件切換到設計視圖,將工具箱中的EventLog組件拖到設計視圖中,我們保留EventLog組件的默認名稱eventLog1.選中eventLog1,在property explorer中將Log屬性選為Application,在Source屬性中輸入“MyFirstService”。接下來,我們在設計視圖的空白處,右鍵點擊,并選擇View Code切換到代碼視圖,在OnStart和OnStop方法里輸入代碼實現日志寫入,代碼如下:

要運行這個Service我們還要做下邊的幾個步驟:

1.為我們的Service添加Installer,右鍵點擊設計視圖,選擇Add Installer,VS將會為我們添加ProjectInstaller.cs,并在ProjectInstaller中添加組件 ServiceInstaller1和ServiceProcessInstaller1,現在我們來修改他們的屬性來控制Service的安裝和啟動選項。在ProjectInstaller得設計視圖中選中ServiceProcessInstaller1,將它得Account屬性選為 LocalSystem,這樣以這個帳號服務啟動。如果你希望系統啟動時自動啟動服務得話,將ServiceInstaller1的StartType的屬性選為Automatic,如果手動啟動的話,選為manaul.

2.安裝Service,我們要用到IntallUtil.exe這個程序,這個程序位于C:\WINDOWS\Microsoft.NET \Framework\v2.0.50727.點擊開始菜單,選擇“運行”,在運行對話框中輸入cmd,進入到命令行窗口,輸入cd :\WINDOWS\Microsoft.NET\Framework\v2.0.50727,進入到這個目錄,然后輸入installutil F:\Programs\C#\TestService\TestService\bin\Debug\testserveice.exe, installutil后邊的內容就是我們的工程生成的可執行程序的路徑,情根據需要修改。

如果你給ServiceInstaller1的StartType設為Automatic的話,安裝完服務,服務已經運行起來了,如果 StartType是Manual的話,你需要手動啟動。現在我們進入“服務”,要打開“服務”,請單擊“開始”,指向“設置”,然后單擊“控制面板”。依次單擊“性能和維護”、“管理工具”,然后雙擊“服務”。在里邊你應該能夠看到我們制作的Service MyFirstService.在這里邊,我們可以啟動,關閉服務,還可以設置服務的啟動類型。然后,我們看看服務有沒有正確的寫入日志,我們需要進入到事件查看器,要打開“事件查看器”,請單擊“開始”,指向“設置”,然后單擊“控制面板”。單擊“性能和維護”,單擊“管理工具”,然后雙擊“事件查看器 ”。

如果你不需要這個Service了,仍然使用InstallUtil這個程序來卸載,不過在InstallUtil后跟參數 –u,比如installutil –u F:\Programs\C#\TestService\TestService\bin\Debug\testserveice.exe.

Service的調試方法與普通的程序調試方法是不一樣的。我來介紹一下。

1. Build你的項目

2. 設置斷點,因為我們的Service非常的簡單,沒有什么執行邏輯,所以設置斷點沒有任何意義,大家可以自己寫一些代碼來實踐。一般來說,我們服務里需要用到一個另外的線程來執行任務,你需要在線程的執行代碼中來設置斷點。

3. 安裝Service,我們前邊有介紹如何安裝。

4. 如果你的Service啟動類型是手動(Manual),你需要到“服務”里啟動你的Service.一般來說,如果你的Service在開發階段,我推薦你將Service的啟動類型設置為Manual,這樣便于調試,因為如果Service在運行過程中,你將無法build工程。

5. 在VS中,從菜單中選擇Debug->Attach Process…。

如果你找不到自己的Service,請選中Show processes from all users.在Available processes列表中選中我們的Service所在的進程TestService,然后點擊Attach按鈕,如果你設置的斷點合理的話,那么,程序就會停在斷點處,接下來你就可以進行調試了。

usingSystem;  usingSystem.Collections.Generic;  usingSystem.ComponentModel;  usingSystem.Data;  usingSystem.Diagnostics;  usingSystem.ServiceProcess;  usingSystem.Text;   namespaceTestService  {  publicpartialclassMyFirstService:ServiceBase  {  publicMyFirstService()  {  InitializeComponent();  }   protectedoverridevoidOnStart(string[]args)  {  //TODO:Addcodeheretostartyourservice.  eventLog1.WriteEntry("Servicestart");  }   protectedoverridevoidOnStop()  {  //TODO:Addcodeheretoperformanytear-downnecessaryto  stopyourservice.  eventLog1.WriteEntry("Servicestop");  }  }  }

關于C#中怎么創建一個Service模板問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陆河县| 宁都县| 东港市| 平湖市| 龙岩市| 伊川县| 平陆县| 永德县| 华安县| 噶尔县| 额尔古纳市| 石家庄市| 桂平市| 灵丘县| 东山县| 水城县| 漾濞| 永和县| 康平县| 谷城县| 西峡县| 通海县| 建水县| 独山县| 万州区| 常宁市| 盱眙县| 交城县| 剑河县| 山丹县| 巩义市| 清水县| 临夏县| 武安市| 含山县| 财经| 广水市| 美姑县| 东丰县| 册亨县| 柳州市|