真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#中怎么創(chuàng)建一個(gè)Service模板

C#中怎么創(chuàng)建一個(gè)Service模板,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供鳳山網(wǎng)站建設(shè)、鳳山做網(wǎng)站、鳳山網(wǎng)站設(shè)計(jì)、鳳山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、鳳山企業(yè)網(wǎng)站模板建站服務(wù),10余年鳳山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

打開(kāi)VS 2005,點(diǎn)擊File->New->Project…,在C#創(chuàng)建工程向?qū)е羞x擇Windows Service模板。

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

我們需要一個(gè)EventLog組件向windows log中添加信息,在solution explorer中雙擊MyfirstSerivce文件切換到設(shè)計(jì)視圖,將工具箱中的EventLog組件拖到設(shè)計(jì)視圖中,我們保留EventLog組件的默認(rèn)名稱(chēng)eventLog1.選中eventLog1,在property explorer中將Log屬性選為Application,在Source屬性中輸入“MyFirstService”。接下來(lái),我們?cè)谠O(shè)計(jì)視圖的空白處,右鍵點(diǎn)擊,并選擇View Code切換到代碼視圖,在OnStart和OnStop方法里輸入代碼實(shí)現(xiàn)日志寫(xiě)入,代碼如下:

要運(yùn)行這個(gè)Service我們還要做下邊的幾個(gè)步驟:

1.為我們的Service添加Installer,右鍵點(diǎn)擊設(shè)計(jì)視圖,選擇Add Installer,VS將會(huì)為我們添加ProjectInstaller.cs,并在ProjectInstaller中添加組件 ServiceInstaller1和ServiceProcessInstaller1,現(xiàn)在我們來(lái)修改他們的屬性來(lái)控制Service的安裝和啟動(dòng)選項(xiàng)。在ProjectInstaller得設(shè)計(jì)視圖中選中ServiceProcessInstaller1,將它得Account屬性選為 LocalSystem,這樣以這個(gè)帳號(hào)服務(wù)啟動(dòng)。如果你希望系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)服務(wù)得話,將ServiceInstaller1的StartType的屬性選為Automatic,如果手動(dòng)啟動(dòng)的話,選為manaul.

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

如果你給ServiceInstaller1的StartType設(shè)為Automatic的話,安裝完服務(wù),服務(wù)已經(jīng)運(yùn)行起來(lái)了,如果 StartType是Manual的話,你需要手動(dòng)啟動(dòng)?,F(xiàn)在我們進(jìn)入“服務(wù)”,要打開(kāi)“服務(wù)”,請(qǐng)單擊“開(kāi)始”,指向“設(shè)置”,然后單擊“控制面板”。依次單擊“性能和維護(hù)”、“管理工具”,然后雙擊“服務(wù)”。在里邊你應(yīng)該能夠看到我們制作的Service MyFirstService.在這里邊,我們可以啟動(dòng),關(guān)閉服務(wù),還可以設(shè)置服務(wù)的啟動(dòng)類(lèi)型。然后,我們看看服務(wù)有沒(méi)有正確的寫(xiě)入日志,我們需要進(jìn)入到事件查看器,要打開(kāi)“事件查看器”,請(qǐng)單擊“開(kāi)始”,指向“設(shè)置”,然后單擊“控制面板”。單擊“性能和維護(hù)”,單擊“管理工具”,然后雙擊“事件查看器 ”。

如果你不需要這個(gè)Service了,仍然使用InstallUtil這個(gè)程序來(lái)卸載,不過(guò)在InstallUtil后跟參數(shù) –u,比如installutil –u F:\Programs\C#\TestService\TestService\bin\Debug\testserveice.exe.

Service的調(diào)試方法與普通的程序調(diào)試方法是不一樣的。我來(lái)介紹一下。

1. Build你的項(xiàng)目

2. 設(shè)置斷點(diǎn),因?yàn)槲覀兊腟ervice非常的簡(jiǎn)單,沒(méi)有什么執(zhí)行邏輯,所以設(shè)置斷點(diǎn)沒(méi)有任何意義,大家可以自己寫(xiě)一些代碼來(lái)實(shí)踐。一般來(lái)說(shuō),我們服務(wù)里需要用到一個(gè)另外的線程來(lái)執(zhí)行任務(wù),你需要在線程的執(zhí)行代碼中來(lái)設(shè)置斷點(diǎn)。

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

4. 如果你的Service啟動(dòng)類(lèi)型是手動(dòng)(Manual),你需要到“服務(wù)”里啟動(dòng)你的Service.一般來(lái)說(shuō),如果你的Service在開(kāi)發(fā)階段,我推薦你將Service的啟動(dòng)類(lèi)型設(shè)置為Manual,這樣便于調(diào)試,因?yàn)槿绻鸖ervice在運(yùn)行過(guò)程中,你將無(wú)法build工程。

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

如果你找不到自己的Service,請(qǐng)選中Show processes from all users.在Available processes列表中選中我們的Service所在的進(jìn)程TestService,然后點(diǎn)擊Attach按鈕,如果你設(shè)置的斷點(diǎn)合理的話,那么,程序就會(huì)停在斷點(diǎn)處,接下來(lái)你就可以進(jìn)行調(diào)試了。

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");  }  }  }

關(guān)于C#中怎么創(chuàng)建一個(gè)Service模板問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


網(wǎng)頁(yè)題目:C#中怎么創(chuàng)建一個(gè)Service模板
文章源于:http://weahome.cn/article/ihosie.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部