代码之家  ›  专栏  ›  技术社区  ›  maciejka

在.NET核心2.0中注册多个服务

  •  0
  • maciejka  · 技术社区  · 8 年前

    我定义了两个服务。

    public class FirstService : IFirstService
    {
    }
    public class SecondService : ISecondService
    {
    }
    

    每个对应的服务接口实现主服务接口IService。

    public interface IFirstService : IService
    {
    }
    public interface ISecondService : IService
    {
    }
    public interface IService
    {
    }
    

    要注册和使用通过DI注入的每个服务,我必须像这样注册每个服务。

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddScoped<IFirstService, FirstService>();
        services.AddScoped<ISecondService, SecondService>();
    }
    

    是否有任何方法可以使用iService以另一种方式注册所有服务。我希望避免键入每个定义的服务。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Kamil Kiełbasa    8 年前

    您可以使用自动AC库 https://autofac.org/ 以及注册所有服务的反射。 这里有autopac的文档: https://autofaccn.readthedocs.io/en/latest/register/scanning.html

    推荐文章