一、新建一个后台任务
(一)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();
.