从控制器继承的所有类都已插入依赖项,但我不知道如何注入那些不从contoller继承的类。
在下面的示例中, SendEmailAndLog()方法等待注入 ILoggerService 接口。但我不知道该怎么做。
public async Task Execute(IJobExecutionContext context)
{
SendEmailHelper sendEmailHelper = new SendEmailHelper();
await sendEmailHelper.SendEmailAndLog(user, "Task", user.UserName, UserManager, loggerService);
}
此任务在Global.asax.cs上称为 Application_Start()方法
我创建了一个构造函数来接收此服务作为参数,这适用于调用Class Emailservice的控制器中的方法。但是有些类不能从控制器继承,所以我不知道如何注入。
我的服务是:
public interface ILoggerService
{
void Error(ExceptionLogger exception);
void SaveLog();
}
public class LoggerService : ILoggerService
{
private readonly ILoggerRepository loggerRepository;
private readonly IUnitOfWork unitOfWork;
public LoggerService(ILoggerRepository loggerRepository, IUnitOfWork unitOfWork)
{
this.loggerRepository = loggerRepository;
this.unitOfWork = unitOfWork;
}
public void Error(ExceptionLogger exception)
{
loggerRepository.Error(exception);
}
public void SaveLog()
{
unitOfWork.Commit();
}
}