繁体   English   中英

扩展方法中的ASP.NET核心依赖注入

[英]ASP.NET Core Dependecy Injection in Extension Methods

我想扩展UserManager以允许通过UserName查找用户。 我创建了一个扩展方法。 我注意到最简单的方法是获取UserStore 我无法通过UserManager进行此操作,因为Store受到了保护。 我决定使用DI将UserStore注入我的方法中,但我什至不确定是否有可能。

我试图将IUserStore<T> store作为第二个参数传递,但是VS表示没有给出任何参数。

using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;

namespace Learning.Extensions
{
    public static class UserManagerExtension
    {
        public static Task<T> FindByUserNameAsync<T>(this UserManager<T> userManager, IUserStore<T> store, string userName) where T : class
        {
            var result = store.FindByNameAsync(userName, CancellationToken.None);

            return result;
        }
    }
}

您可以使用现有方法按名称搜索用户:

public Task<TUser> UserManager<TUser>.FindByNameAsync(String);

更多信息可以在ASP.NET Core Docs中找到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM