首先,作业的启动和停止需要在程序的启动和关闭进行,所以要有一个Module进行注册,在CS里就写在CSHttpModule中了。












作业系统需要几个类相互配合进行工作,分别是:Jobs、Job、IJob和实际IJob的工作类,如:PostAttachmentCleanupJob等。
Jobs类的Start()方法用于提取communityserver.config中设置作业列表,并实例化出对应的Job对象列表,在Job对象的InitializeTimer()期间,作业就会被启动,如果作业配置中使用了"singleThread = false",则作业会在单独的Timer对象中启动,可以设置自已的间隔时间,否则作业会在统一的一个Timer对象中启动,间隔时间都是统一的,默认情况下间隔时间为15分钟,可以通过配置minutes设置间隔时间。
Timer对象在实例化过程中会调用一个委托对象,用于循环作业时间,如:



















Job对象是存储一些配置信息和单独启动Timer对象。
IJob接口定义了使用作业系统的作业类必须实现的方法void Execute(XmlNode node);实现IJob接口的作业类从参数XmlNode node提取一些有用的配置信息,则可以有助于作业的运行。如:PostAttachmentCleanupJob类




















