【发布时间】:2021-10-03 10:32:38
【问题描述】:
在ConfigureServices方法中,检索对象实例的正确方法是什么?
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<SERVICES.Core.IAuthService, SERVICES.Core.AuthService>();
//.......
var serviceProvider = services.BuildServiceProvider();
var authService = serviceProvider.GetRequiredService<IAuthService>();
}
编辑: 为什么?:Microsoft 不建议我们使用它。 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-5.0#ASP0000
【问题讨论】:
-
serviceProvider.GetRequiredService<SERVICES.Core.IAuthService>(); -
var authService = serviceProvider.GetService<SERVICES.Core.IAuthService>();我在我的项目中使用它。 -
@vsarunov 和 @Chetan 是为
IServiceProvider而不是IServiceCollection。 -
你为什么需要它?它应该被注入到需要它的对象中
-
你为什么要这样做呢?我以前做过并修复它以进行正确的注射