如何将UserManager注入ASP.NET Core 2.0中的另一个服务

时间:2018-06-10 20:24:10

标签: c# asp.net-core asp.net-identity asp.net-core-2.0 usermanager

我创建了一个使用用户管理员身份的服务

public class UserManagerService : IUserManagerService
{
    private readonly UserManager<IdentityUser> userManager;

    public UserManagerService(UserManager<IdentityUser> userManager)
    {
        this.userManager = userManager;
    }}

我将此行添加到我的startup.cs

services.AddTransient<IUserStore<IdentityUser>, UserStore<IdentityUser>>();
services.AddTransient<UserManager<IdentityUser>>();

但我有这个错误:

  

InvalidOperationException:无法解析“Microsoft.AspNet.Identity.UserManager”类型的服务

有谁知道我们如何将用户经理注入其他服务?

1 个答案:

答案 0 :(得分:1)

我假设您看到此错误,因为您尚未注册所有用户管理器依赖项。 https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.identity.usermanager-1?view=aspnetcore-2.1查看构造函数以查看构建UserManager需要注册的内容。另外,您可以通过简单的扩展注册所有必需的身份服务。 services.AddIdentity<IdentityUser, IdentityRole>()