我目前有一个简单的网站设置与ASP.NET核心MVC(.NET 4.6.1),我想定期做一些过程,如自动发送电子邮件在每当天给注册会员。使用FluentScheduler - ASP.NET核心MVC
经过一番搜索,我遇到了两个常见的解决方案 - Quartz.NET和FluentScheduler。
基于此SO thread,我发现使用FluentScheduler更容易消化和使用我的简单任务的方法。在我的Program.cs类中快速实现了以下几行代码后,我每分钟都会成功发送电子邮件(用于测试目的)。
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
var registry = new Registry();
JobManager.Initialize(registry);
JobManager.AddJob(() => MyEmailService.SendEmail(), s => s
.ToRunEvery(1)
.Minutes());
host.Run();
}
}
但是,除了发送电子邮件之外,我还需要为例如电子邮件地址做一些后端处理。邮件发送时更新数据库中的用户记录。为此,我通常将我的实体框架上下文注入到我的控制器的构造函数中,并使用它来获取/更新SQL记录。
我的问题是,因为我不能真正将这些服务注入主方法,在哪里将适当的位置初始化注册表并添加作业调度?
感谢您的帮助,我对此有点新,所以一点指导将非常感谢!