学习ServiceBase继承的类时,经常会遇到C# CWorker类问题,这里将介绍C# CWorker类问题的解决方法。
创新互联专注于昌乐企业网站建设,成都响应式网站建设,商城网站制作。昌乐网站建设公司,为昌乐等地区提供建站服务。全流程按需求定制开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
服务的基本结构是从ServiceBase继承的类。重要的方法包括 OnStart、OnStop、OnPause 和 OnContinue ,每一个替代方法都与一个服务控制操作直接对应。OnStart 方法的目的是创建 CWorker对象,
而C# CWorker类又创建 CWorkerThread对象,然后在该对象中创建执行服务工作的线程。
服务的运行时配置(以及 CWorker和 CWorkerThread对象的属性)是在基于 XML的配置文件中维护的。它的名称与创建的 .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类都有相应的服务控制方法,根据服务控制操作进行调用。由于 Hashtable中引用了每一个 CWorker对象,因此需要枚举 Hashtable的内容,以调用适当的服务控制方法: foreach (CWorker cWorker in htWorkers.Values) cWorker.Start();
类似地,实现的 OnPause、OnContinue和 OnStop 方法是通过调用CWorker 对象上的相应方法来执行操作的。
C# CWorker类
C# CWorker类的主要功能是创建和管理 CWorkerThread对象。Start 、Stop、Pause 和 Continue 方法调用相应的 CWorkerThread方法。实际的CWorkerThread 对象是在Start 方法中创建的。与使用 Hashtable管理辅
助对象引用的 Service类相似,CWorker 使用 ArrayList(简单的动态数组)来维护线程对象的列表。
分享文章:C#CWorker类简介
网页URL:http://www.shufengxianlan.com/qtweb/news5/30105.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联