至于任务调度这个基础功能,重要性不言而喻,大多数业务系统都会用到,世面上有很多成熟的三方库比如Quartz,Hangfire,Coravel 这里我们不讨论三方的库如何使用 而是从0开始自己制作一个简易的任务调度 技术栈用到了:BackgroundService和NCrontab库 第一步我们定义一个简单的任务约定,不干别的就是一个执行方法: public interface IScheduleTask { Task ExecuteAsync(); } public abstract class ScheduleTask : IScheduleTask { public virtual Task ExecuteAsync() { return Task.CompletedTask; } } 第二步定义特性标注任务执行周期等信的metadata [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)] public class...