我有一个 Blazor 项目并使用 MailKit 发送电子邮件。
我想将 Logger 添加到电子邮件服务中。
那是Startup.ConfigureServices
//...
services.AddSingleton<IEmailConfiguration>(Configuration.GetSection("EmailConfiguration").Get<EmailConfiguration>());
//...
services.AddTransient<IEmailSender, EmailSender>();
//...
那就是EmailSender服务:
public class EmailSender : IEmailSender
{
private readonly IEmailConfiguration _emailConfiguration;
//private readonly ILogger<WHATModel> _logger; //<------------?
public EmailSender(IEmailConfiguration emailConfiguration)
{
_emailConfiguration = emailConfiguration;
}
public Task SendEmailAsync(string recipientEmail, string subject, string message)
{
//....
所以,我可以传递EmailConfiguration给服务,但我怎么能传递一个ILogger?
它需要一些模型
private readonly ILogger<WHATModel> _logger; //<------------?
我应该通过什么模型?