public void ConfigureServices(IServiceCollection services)
{
services.AddLogging();
services.AddScoped();
}
public interface IEmailProvider
{
void SendEmail(string recipient, string subject, string message);
}
public class EmailProvider : IEmailProvider
{
public void SendEmail(string recipient, string subject, string message)
{
// Implementation details
}
}
public class MyController : ControllerBase
{
private readonly ILogger _logger;
private readonly IEmailProvider _emailProvider;
public MyController(ILogger logger, IEmailProvider emailProvider)
{
_logger = logger;
_emailProvider = emailProvider;
}
// Use ILogger and IEmailProvider in a method
public IActionResult Index()
{
_logger.LogInformation("Email sent");
_emailProvider.SendEmail("recipient@domain.com", "Subject", "Message");
return View();
}
}
这样,将DI添加到日志记录器和电子邮件提供程序中,就可以在控制器中使用它们。