0

我要开发企业应用程序并且有很多项目在解决问题是假设 1- Webapi 项目 2- 服务项目 3- DataModel 项目

Webapi项目调用服务项目和服务项目调用DataModel项目问题是我必须在Webapi项目中添加两个(Services,DataModel)项目dll并在Startup类中添加所有类和接口,如

public void ConfigureServices(IServiceCollection services) 
{ 
  services.AddTransient<IDocConverterProAuth, DocConverterProAuthentication>(); 
  services.AddTransient<IFileConverter, FileConverter>(); 
  services.AddTransient<IFileConversionService, FileConversionService>(); 
}

但我有 50 个项目和数百个课程。我必须在 Webapi 项目中添加所有引用。我认为这不是正确的方法,因为 DataModel 项目没有在 Webapi 项目中使用,只有 Services 项目使用 DataModel 项目,所以解决 Services 项目中的依赖关系,所以请指导我如何可能我的开发环境是

1- Visual Studio Enterprise 2017 2- .net core 2.1 3- C#

4

1 回答 1

0

我很久以前就有过这种场景(比如 2010 年),我在那种情况下选择的解决方案是扫描程序集以查找所有合约,为合约实现一个唯一的名称,例如:abc.business.interfaces.dll 和相应的实现在 abc.business.dll

使用这样的命名法,我能够识别相应接口的实现程序集,然后将它们注册到 DI 容器中。

因此,如果您不想编写每个 DI 注入,则必须编写这样的实现。我认为也有一些现成的解决方案可用,但我没有使用过这样的解决方案,所以不推荐。

于 2019-02-13T09:45:59.940 回答