首页 > 解决方案 > 我们应该在类库项目 asp .net core 中扩展 IServiceCollection 吗?

问题描述

我试图理解在我们应该注册依赖项的多层项目中。我正在使用 ASP .NET Core 创建一个项目,该项目将有一个 Web 应用程序和 3 个或更多逻辑层(类库),比如说业务层、数据访问层等。业务层可以有 1 个或多个类,等等层。

我的问题是我是否应该在 Web 应用程序的启动类(通过扩展 IServiceCollection)中注册所有依赖项(类库的所有类)。

喜欢:

namespace Architecture.Web.DependencyExtension
{
    public static class BusinessLayerDependency
    {
        public static IServiceCollection RegisterDependency(this IServiceCollection service)
        {
            // register dependency for classes of business libraries here 
            service.AddTransient<IOrderBizObj, OrderBizObj>();
            return service;
        }
    }
}

或者我应该将 IServiceCollection 扩展到类库并按照这个问题的回答进行注册?

当我阅读这篇文章时,它是说所有依赖项都应该在应用程序的组合根目录中注册。它还表示“组合根可以分布在多个类中,只要它们都驻留在一个模块中”。

提前致谢。

标签: c#dependency-injectionasp.net-core-mvcclass-library

解决方案


推荐阅读