您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關C# 中CWorker類的作用是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
服務的基本結(jié)構(gòu)是從ServiceBase繼承的類。重要的方法包括 OnStart、OnStop、OnPause 和 OnContinue ,每一個替代方法都與一個服務控制操作直接對應。OnStart 方法的目的是創(chuàng)建 CWorker對象,
而C# CWorker類又創(chuàng)建 CWorkerThread對象,然后在該對象中創(chuàng)建執(zhí)行服務工作的線程。
服務的運行時配置(以及 CWorker和 CWorkerThread對象的屬性)是在基于 XML的配置文件中維護的。它的名稱與創(chuàng)建的 .exe 文件相同,但帶有一個.cfg 后綴。配置示例如下:
〈?xml version="1.0"?〉 〈configuration〉 〈ProcessList〉 〈ProcessDefinition ProcessName="Worker1" ProcessDesc="Message Worker with 2 Threads" ProcessType="AppSpecific" ProcessThreads="2" InputQueue=".private$test_load1" ErrorQueue=".private$test_error"〉 〈OutputList〉 〈OutputDefinition OutputName=".private$test_out11" /〉 〈OutputDefinition OutputName=".private$test_out12" /〉 〈/OutputList〉 〈/ProcessDefinition〉 〈ProcessDefinition ProcessName="Worker2" ProcessDesc="Assembly Worker with 1 Thread" ProcessType="Assembly" ProcessThreads="1" InputQueue=".private$test_load2" ErrorQueue=".private$test_error"〉 〈OutputList〉 〈OutputDefinition OutputName="C:MSDNMessageServiceMessage Example.dll" /〉 〈OutputDefinition OutputName="MSDNMessageService.Message Sample.ExampleClass"/〉 〈/OutputList〉 〈/ProcessDefinition〉 〈/ProcessList〉 〈/configuration〉
CWorkerThread 和C# Cworker類都有相應的服務控制方法,根據(jù)服務控制操作進行調(diào)用。由于 Hashtable中引用了每一個 CWorker對象,因此需要枚舉 Hashtable的內(nèi)容,以調(diào)用適當?shù)姆湛刂品椒ǎ?foreach (CWorker cWorker in htWorkers.Values) cWorker.Start();
類似地,實現(xiàn)的 OnPause、OnContinue和 OnStop 方法是通過調(diào)用CWorker 對象上的相應方法來執(zhí)行操作的。
C# CWorker類
C# CWorker類的主要功能是創(chuàng)建和管理 CWorkerThread對象。Start 、Stop、Pause 和 Continue 方法調(diào)用相應的 CWorkerThread方法。實際的CWorkerThread 對象是在Start 方法中創(chuàng)建的。與使用 Hashtable管理輔
助對象引用的 Service類相似,CWorker 使用 ArrayList(簡單的動態(tài)數(shù)組)來維護線程對象的列表。
以上就是C# 中CWorker類的作用是什么,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。