Dependency injection dotnetcore还需要统一依赖注入吗?

Dependency injection dotnetcore还需要统一依赖注入吗?,dependency-injection,.net-core,Dependency Injection,.net Core,当我浏览一个简单的DotNet核心web应用程序设置时。看起来不需要Unity依赖项注入,因为在中,您只需在Startup.cs ConfigureServices方法中完成即可。是的,您可以使用框架提供的依赖项注入服务 Startup类中的ConfigureServices方法负责定义应用程序将使用的服务,包括Entity Framework Core和ASP.NET Core MVC等平台功能。最初,提供给ConfigureServices的IServiceCollection只定义了少量服

当我浏览一个简单的DotNet核心web应用程序设置时。看起来不需要Unity依赖项注入,因为在中,您只需在Startup.cs ConfigureServices方法中完成即可。

是的,您可以使用框架提供的依赖项注入服务

Startup类中的ConfigureServices方法负责定义应用程序将使用的服务,包括Entity Framework Core和ASP.NET Core MVC等平台功能。最初,提供给ConfigureServices的IServiceCollection只定义了少量服务。下面是一个示例,说明如何使用AddDbContext、AddIdentity和AddMvc等多种扩展方法向容器添加其他服务

public void配置服务(IServiceCollection服务)
{
//添加框架服务。
services.AddDbContext(选项=>
options.UseSqlServer(Configuration.GetConnectionString(“DefaultConnection”));
服务.额外性()
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();
services.AddMvc();
//添加应用程序服务。
services.AddTransient();
services.AddTransient();
}

依赖注入是dotnet核心框架中的一级公民。因此,无需下载单独的软件包,如Unity、Autofac、Ninject等。

NET framework从不需要Unity,而.NET Core也不需要Unity。您可以使用任何DI库、Unity、纯DI或无依赖注入。但请注意,Microsoft停止支持Unity,它现在由社区维护。
public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddDbContext<ApplicationDbContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

services.AddIdentity<ApplicationUser, IdentityRole>()
    .AddEntityFrameworkStores<ApplicationDbContext>()
    .AddDefaultTokenProviders();

services.AddMvc();

// Add application services.
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
}