Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 如何在静态类中引用ASP.NET identity Usermanager?_Asp.net Core_Dependency Injection_Asp.net Identity - Fatal编程技术网

Asp.net core 如何在静态类中引用ASP.NET identity Usermanager?

Asp.net core 如何在静态类中引用ASP.NET identity Usermanager?,asp.net-core,dependency-injection,asp.net-identity,Asp.net Core,Dependency Injection,Asp.net Identity,我想在程序的seed方法期间创建一个新用户,但是如何调用CreateAsync public class DbInitializer { private readonly UserManager<ApplicationUser> _userManager; public DbInitializer(UserManager<ApplicationUser> userManager) { _userManager = userMan

我想在程序的seed方法期间创建一个新用户,但是如何调用CreateAsync

 public class DbInitializer
{
    private readonly UserManager<ApplicationUser> _userManager;

    public DbInitializer(UserManager<ApplicationUser> userManager)
    {
        _userManager = userManager;
    }

    public static void Initialize(IApplicationBuilder app)
    {
        OneDbContext context = app.ApplicationServices.GetRequiredService<OneDbContext>();
        context.Database.EnsureCreated();

        //If there are no users, create a test user
        if (!context.Users.Any())
        {
            var user = new ApplicationUser { UserName = "test", Email = "test@test.com" };
            var result =  _userManager.CreateAsync(user, "test");
        }
公共类DbInitializer
{
私有只读用户管理器_UserManager;
公共数据库初始值设定项(UserManager UserManager)
{
_userManager=userManager;
}
公共静态无效初始化(IApplicationBuilder应用程序)
{
OneDbContext上下文=app.ApplicationServices.GetRequiredService();
context.Database.recreated();
//如果没有用户,请创建一个测试用户
如果(!context.Users.Any())
{
var user=newapplicationuser{UserName=“test”,Email=”test@test.com" };
var result=_userManager.CreateAsync(用户,“测试”);
}

错误CS0120:非静态字段、方法或属性“DbInitializer”需要对象引用。_userManager'

您可以从DI获取
userManager
,与获取DbContext实例的方式相同,例如
app.ApplicationServices.GetService();