基于C#實(shí)現(xiàn)Windows服務(wù)_第1頁
基于C#實(shí)現(xiàn)Windows服務(wù)_第2頁
基于C#實(shí)現(xiàn)Windows服務(wù)_第3頁
基于C#實(shí)現(xiàn)Windows服務(wù)_第4頁
基于C#實(shí)現(xiàn)Windows服務(wù)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

前言在實(shí)際應(yīng)用過程中,有時候我們希望開發(fā)的程序,不需要界面,直接開機(jī)就可以長時間運(yùn)行,這時候,我們可以考慮做成一個Windows服務(wù)。這篇文章跟大家介紹一下,如何基于C#實(shí)現(xiàn)Windows服務(wù)的創(chuàng)建、安裝、啟動、停止和卸載。Windows服務(wù)介紹MicrosoftWindows服務(wù)能夠創(chuàng)建在它們自己的Windows會話中可長時間運(yùn)行的可執(zhí)行應(yīng)用程序。這些服務(wù)可以在計算機(jī)啟動時自動啟動,可以暫停和重新啟動而且不顯示任何用戶界面。這使服務(wù)非常適合在服務(wù)器上使用,或任何時候,為了不影響在同一臺計算機(jī)上工作的其他用戶,需要長時間運(yùn)行功能時使用。還可以在不同于登錄用戶的特定用戶賬戶或默認(rèn)計算機(jī)賬戶的安全上下文中運(yùn)行服務(wù)。創(chuàng)建Windows服務(wù)1、創(chuàng)建一個新項(xiàng)目,項(xiàng)目類型選擇Windows服務(wù),如下圖所示:2、項(xiàng)目名稱修改為thinger.WindowsServiceDemo,創(chuàng)建完成界面如下所示:3、為了方便區(qū)分,將類名Service1改成MyService。4、在設(shè)計界面,右擊鼠標(biāo),會出現(xiàn)如下彈窗,選擇添加安裝程序,并點(diǎn)擊添加安裝程序。5、點(diǎn)擊添加安裝程序之后,會自動添加一個ProjectInstaller界面,里面有兩個組件,分別是serviceProcessInstaller和serviceInstaller。6、先選擇serviceInstaller進(jìn)行屬性設(shè)置,主要可以設(shè)置以下屬性:ServiceName:服務(wù)名稱,這個后續(xù)會使用到。Description:描述,可以自己添加一下說明StartType:啟動類型,可以設(shè)置為手動或自動7、接著選擇ProjectInstaller進(jìn)行設(shè)置,主要設(shè)置Account,指示用來運(yùn)行此服務(wù)的賬戶類型,可以設(shè)置為LocalSystem8、設(shè)置完成之后,切換到MyService這個類,點(diǎn)擊切換到代碼視圖,我們可以看到后臺有一些自動生成的代碼:

publicpartialclassMyService

:

ServiceBase

{

public

MyService()

{

InitializeComponent();

}

protectedoverridevoidOnStart(string[]

args)

{

}

protectedoverridevoid

OnStop()

{

}

}從名稱可以看出,這里重寫了OnStart和OnStop接口,可以在這里寫一些啟動服務(wù)和停止服務(wù)的邏輯。9、寫了一個簡單的邏輯,就是每次服務(wù)啟動或停止都會向指定的文件中寫入一串信息。

protectedoverridevoidOnStart(string[]

args)

{

WriteInfo("服務(wù)啟動");

}

protectedoverridevoid

OnStop()

{

WriteInfo("服務(wù)停止");

}

privatestringfilePath

=

@"D:\ServiceLog.txt";

privatevoidWriteInfo(stringinfo)

{

using

(FileStreamstream

=

newFileStream(filePath,

FileMode.Append))

{

using

(StreamWriterwriter

=

newStreamWriter(stream))

{

writer.WriteLine($"{DateTime.Now},{info}");

}

}

}10、點(diǎn)擊項(xiàng)目,右擊生成。11、這樣,一個簡單的Windows服務(wù)就創(chuàng)建完成了。安裝卸載Windows服務(wù)我們直接運(yùn)行剛剛創(chuàng)建的服務(wù),發(fā)現(xiàn)是無法運(yùn)行的,提示使用installutil.exe來運(yùn)行。如果安裝了VS,這個exe應(yīng)用程序在C盤里可以找到的,具體路徑為:C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe接下來,我們使用這個exe來進(jìn)行安裝和卸載Windows服務(wù)。1、首先,使用管理員權(quán)限打開CMD,然后進(jìn)入這個路徑下,便于直接操作InstallUtil。2、安裝服務(wù)命令:installutil

exe絕對路徑;卸載服務(wù)命令:installutil

ex

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論