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

我想扩展UserManager以允许通过用户名查找用户。我创建了一个扩展方法。我注意到实现它的最简单方法是获取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;

        }

    }

}


哈士奇WWW
浏览 89回答 1
1回答

九州编程

您可以使用现有方法按名称搜索用户:public&nbsp;Task<TUser>&nbsp;UserManager<TUser>.FindByNameAsync(String);可以在ASP.NET Core 文档中找到更多信息。
打开App,查看更多内容
随时随地看视频慕课网APP