受欢迎的博客标签

【原创】nopCommerce 4.0 新建后台任务流程

Published

一、新建一个后台任务

(一)x:\nopcommerce40\src\Nop.services\tasks\queuedmessagesproductscheduletask.cs

按照邮件后台任务的格式写就可以了 x:\nopcommerce40\src\Nop.services\tasks\queuedmessagessendscheduletask.cs

(二)注册 E:\Nopcommerce40\src\Nop.Framework\Infrastructure\DependencyRegistrar.cs 

builder.RegisterType<QueuedMessagesProductScheduleTask>().InstancePerLifetimeScope();

二、将任务手工添加到数据库的ScheduleTask集合中,添加之后管理后台就能看到和配置参数。 

db.getCollection("ScheduleTask").insert([ { "_id": "5a21900c0fe62320742a9a60", "GenericAttributes": [], "ScheduleTaskName": "product", "Type": "Nop.Services.Tasks.QueuedMessagesProductScheduleTask, Nop.Services", "Enabled": true, "StopOnError": false, "LastStartUtc": ISODate("2017-12-03T21:03:01.424+08:00"), "LastNonSuccessEndUtc": null, "LastSuccessUtc": ISODate("2017-12-03T21:03:01.433+08:00"), "LeasedByMachineName": null, "LeasedUntilUtc": null, "TimeIntervalChoice": 10, "TimeInterval": 1, "MinuteOfHour": 1, "HourOfDay": 1, "DayOfWeek": 4, "MonthOptionChoice": 10, "DayOfMonth": 1 }])

三、新建一个QueuedProduct消息队列集合,用于存放需要后台任务处理的记录 E:\Nopcommerce40\src\Nop.Core\Domain\Messages\QueuedProduct.cs

 四、新建QueuedProductService: IQueuedProductService,用于对上述集合的CUD E:\Nopcommerce40\src\Nop.Services\Messages\QueuedProductService.cs 注册 E:\Nopcommerce40\src\Nop.Framework\Infrastructure\DependencyRegistrar.cs 

builder.RegisterType<QueuedProductService>().As<IQueuedProductService>().InstancePerLifetimeScope();

  .