我在带有Entity Framework 2.0的ASP.NET Core中有一个应用程序,我需要在服务中实现邮件调度程序。邮件服务必须获取数据库中的数据才能获取创建邮件的数据,因此它必须与dbContext交互。
我尝试了不同的方法来设置此服务,但没有成功。在不同情况下,我会显示一条错误消息:
“无法使用单例“ Maquetteur.Service.Scheduling.IScheduledTask”中的作用域服务“ Maquetteur.Data.MaquetteurContext”。”
根据我在Internet上阅读的内容,似乎我使用了错误的方式来设置此服务,但找不到合适的方法来处理...
这是我的服务代码的不同部分:
Startup.cs:
OServices.AddSingleton<IScheduledTask, MailingTask>();//daily mailing
OServices.AddScheduler((sender, args) => Console.Write(args.Exception.Message); args.SetObserved(); });
我的邮件班:
public class MailingTask : IScheduledTask
{
private readonly MaquetteurContext OContext;
public MailingTask(MaquetteurContext context)
{
this.OContext = context;
}
private async Task SendmailFromList(List<Entities.Mailing> AMailingList)
{
//do things with OContext + send mail
}
您知道我如何解决我的问题吗?