小編給大家分享一下C#Windows服務(wù)程序如何編寫,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、精河ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的精河網(wǎng)站制作公司
C#Windows服務(wù)程序編寫是一種比較高級的編程技術(shù),內(nèi)部使用了很多Windows操作系統(tǒng)的核心功能,但微軟.NET框架已經(jīng)很好的封裝了這些技術(shù)細(xì)節(jié),使得我們可以很方便的使用C#編寫自己的Windows服務(wù),其基本過程一般為
Windows服務(wù)程序編寫1.創(chuàng)建C#工程。
創(chuàng)建一個EXE工程,可以是WinForm或者命令行格式的。添加對System.ServiceProcess.dll和System.Configuration.Install.dll的引用。
Windows服務(wù)程序編寫2.創(chuàng)建服務(wù)類。
新增一個類,該類型繼承System.ServiceProcess.ServiceBase類型,在構(gòu)造函數(shù)中設(shè)置ServiceName屬性來指明該服務(wù)的名稱。然后重載它的OnStart方法來響應(yīng)啟動服務(wù)的事件,重載OnStop方法來響應(yīng)停止服務(wù)的事件,重載OnPause方法來響應(yīng)暫停服務(wù)的事件,重載OnContinue方法來響應(yīng)恢復(fù)提供服務(wù)的事件。在重載這些方法時必須要立即返回,其中不能出現(xiàn)長時間的操作,若處理時間過長則Windows服務(wù)管理器會覺得該Windows服務(wù)停止響應(yīng)而報錯。為此我們可以使用一個線程來進(jìn)行實(shí)際的工作,而OnStart方法創(chuàng)建線程,OnStop方法關(guān)閉線程,OnPause方法掛起線程,而OnContinue方法來恢復(fù)運(yùn)行線程。
Windows服務(wù)程序編寫3.啟動服務(wù)。
在main函數(shù)中調(diào)用“System.ServiceProcess.ServiceBase.Run( 自定義服務(wù)類的實(shí)例 )”來運(yùn)行服務(wù)。比如“System.ServiceProcess.ServiceBase.Run( new MyService() )”,這里的MyService就是繼承自ServiceBase。
Windows服務(wù)程序編寫4.安裝服務(wù)。
新增一個類,該類型繼承自System.Configuration.Install.Installer類型,該類型用于配合微軟.NET框架自帶的安裝命令行工具InstallUtil.exe的。我們?yōu)樵擃愋透郊覵ystem.ComponentModel.RunInstallerAttribute特性,并在它的構(gòu)造函數(shù)中使用System.ServiceProcess.ServiceInstaller對象和System.ServiceProcess.ServiceProcessInstaller對象向系統(tǒng)提供該服務(wù)的安裝信息。程序編譯后我們可以使用命令行“InstallUtil.exe EXE文件名”向Windows服務(wù)管理器注冊服務(wù),可以使用命令行“InstallUtil.exe /u EXE文件名”從Windows服務(wù)管理器中注銷服務(wù)。
Windows服務(wù)程序編寫5.編寫服務(wù)客戶端。
這是一個根據(jù)實(shí)際情況而可選的過程,由于Windows服務(wù)是沒有用戶界面的,因此我們可以編寫一個具有用戶界面的程序來顯示和控制Windows服務(wù)提供的數(shù)據(jù),并進(jìn)行一些系統(tǒng)設(shè)置等操作。比如對于MS SQL Server,數(shù)據(jù)庫引擎是以服務(wù)的形式存在,而SQL Server企業(yè)管理器就是一個客戶端軟件。
以上是“C#Windows服務(wù)程序如何編寫”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
標(biāo)題名稱:C#Windows服務(wù)程序如何編寫
文章轉(zhuǎn)載:http://aaarwkj.com/article10/pjdpgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、做網(wǎng)站、網(wǎng)站維護(hù)、動態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)