.net core注入服务

1.在Startup的ConfigureServices里面,通过IServiceCollection进行注入

public void ConfigureServices(IServiceCollection services)
{
    //注入服务
    services.AddTransient<IEmailSender, EmailSender>();
    //或者
    services.Add(new ServiceDescriptor(typeof(IEmailSender), typeof(IEmailSender), ServiceLifetime.Singleton));
}

2.定义接口并实现

public interface IEmailSender
{
    Task SendEmailAsync(string email, string subject, string message);
}

public class EmailSender : IEmailSender
{
    public Task SendEmailAsync(string email, string subject, string message)
    {
        //......
    }
}

3.使用

public class AccountController : Controller
{
    private readonly IEmailSender _emailSender;
    public AccountController(IEmailSender emailSender)
    {
        _emailSender = emailSender;
    }
}
posted @ 2017-11-21 16:26  Lulus  阅读(314)  评论(0编辑  收藏  举报