如何使用依赖注入模式的自定义外部.NET的DLL标准

问题描述 投票:0回答:1

我是新来ASP.NET睿所以原谅我提前如果我的问题是含糊不清。我一直在阅读有关的依赖注入模式,我认为它的伟大,但我一直没能找到如何利用这种模式与标准的.Net内置外部DLL的例子。我开始在asp.net核心剃刀页一个新的项目,我想跟着DI模式,但我需要利用一些内部内置的DLL,我不知道如何。任何帮助将不胜感激。

razor dependency-injection asp.net-core-mvc
1个回答
0
投票
  1. 引用添加到您的项目。
  2. 注册您的类型/实例在Startup
public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<LibraryDbContext>(options => options.UseInMemoryDatabase("LibraryContext"));

    services.AddTransient<ICustomerRepository, CustomerRepository>();

    services.AddTransient<IAuthorRepository, AuthorRepository>();

    services.AddTransient<IBookRepository, BookRepository>();

    services.AddMvc();
}
  1. 消耗你的控制器
public class AuthorController : Controller
{
    private readonly IAuthorRepository _authorRepository;

    public AuthorController(IAuthorRepository authorRepository)
    {
        _authorRepository = authorRepository;
    }
}
  1. 或解决其他地方
public static class DbInitializer
{
    public static void Seed(IApplicationBuilder app)
    {
        using (var serviceScope = app.ApplicationServices.CreateScope())
        {
            var repository = serviceScope.ServiceProvider.GetService<IAuthorRepository>();
        }
    }
}

所有的例子都是从我的GitHub库,可以发现here。随意星/克隆/叉:)

© www.soinside.com 2019 - 2024. All rights reserved.