溫馨提示×

溫馨提示×

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

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

C# 中CWorker類的作用是什么

發(fā)布時間:2021-07-08 14:54:21 來源:億速云 閱讀:136 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關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è)資訊頻道。

向AI問一下細節(jié)

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

AI