我目前有一個簡單的網站設置與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記錄。
我的問題是,因爲我不能真正將這些服務注入主方法,在哪裏將適當的位置初始化註冊表並添加作業調度?
感謝您的幫助,我對此有點新,所以一點指導將非常感謝!