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
C# 无法访问已处理的对象。\r\n对象名称:';UserManager`1-调用CreateAncy时(用户,型号.密码)_C#_Asp.net Core_Asp.net Identity_Claims Based Identity_Ef Core 3.1 - Fatal编程技术网

C# 无法访问已处理的对象。\r\n对象名称:';UserManager`1-调用CreateAncy时(用户,型号.密码)

C# 无法访问已处理的对象。\r\n对象名称:';UserManager`1-调用CreateAncy时(用户,型号.密码),c#,asp.net-core,asp.net-identity,claims-based-identity,ef-core-3.1,C#,Asp.net Core,Asp.net Identity,Claims Based Identity,Ef Core 3.1,我正在从事.net核心项目。 我的项目结构有4个项目 Student_数据库-(包含数据库表模型和ApplicationNDBContext) 学生实体-(包含所有视图侧模型) 学生服务-(从这里处理所有数据库操作。它连接到数据库。 例如:IUserService和UserService) 学生网络-(控制器和所有方法、逻辑以及所有视图在此项目中) 我已经实现了实体框架核心。并尝试使用Usermanager来插入数据。 现在,当我从控制器(Student_Web)调用方法“CreateAsync

我正在从事.net核心项目。 我的项目结构有4个项目

  • Student_数据库-(包含数据库表模型和ApplicationNDBContext)
  • 学生实体-(包含所有视图侧模型)
  • 学生服务-(从这里处理所有数据库操作。它连接到数据库。 例如:IUserService和UserService)
  • 学生网络-(控制器和所有方法、逻辑以及所有视图在此项目中)
  • 我已经实现了实体框架核心。并尝试使用Usermanager来插入数据。 现在,当我从控制器(Student_Web)调用方法“CreateAsync”时,它工作正常,并且用户插入。 但我想在Student_服务中实现数据库操作。因此,当我从UserService调用“CreateAync”时,它会给我错误“无法访问已处理的对象。\r\n对象名:'UserManager`1”

    我正在从控制器调用此接口IUserService。这是我在UserService中的代码

    请帮我解决这个问题

    public类用户服务:IUserService
    {
    #区域属性
    私有只读IDbContext _context;
    私有只读用户管理器_UserManager;
    专用只读角色管理器(RoleManager);
    #端区
    #区域构造函数
    公共用户服务(
    IDbContext上下文
    ,UserManager UserManager
    ,RoleManager RoleManager
    {
    _上下文=上下文;
    _userManager=userManager;
    _roleManager=roleManager;
    }
    #端区
    #区域方法
    公共异步任务创建(新用户模型)
    {
    布尔结果=假;
    尝试
    {
    var user=await\u userManager.FindByNameAsync(model.UserName);
    if(user==null)
    {
    model.Password=GeneratePassword();
    用户=新应用程序用户
    {
    //Id=10,
    用户名=model.UserName,
    Email=model.UserName,
    AccessFailedCount=0,
    FirstName=model.FirstName,
    LastName=model.LastName,
    CreatedBy=2,
    CreatedDate=DateTime.UtcNow,
    活动=错误
    };
    var returnResult=await_userManager.CreateAsync(用户、模型、密码);
    if(returnResult.successed)
    {
    returnResult=wait _userManager.AddToRoleAsync(user,_rolemanger.Roles.Where(x=>x.Id==model.RoleId)。选择(x=>x.Name.FirstOrDefault());
    }
    if(model.CompanyId!=null)
    {
    foreach(model.CompanyId中的var项)
    {
    var userMap=new UserCompanyMapping();
    userMap.UserId=user.Id;
    userMap.CompanyId=项目;
    _usercompanyMappingPository.Insert(userMap);
    }
    }
    result=returnResult.successed;
    }
    }
    捕获(例外情况除外)
    {
    返回false;
    }
    返回结果;
    }
    #端区
    }
    //创业班
    公营创业
    {
    公共启动(IConfiguration配置)
    {
    配置=配置;
    }
    公共IConfiguration配置{get;}
    //此方法由运行时调用。请使用此方法将服务添加到容器中。
    public void配置服务(IServiceCollection服务)
    {
    services.AddMvc(选项=>
    {
    var policy=new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();
    option.Filters.Add(新授权过滤器(策略));
    });
    services.AddDbContextPool(选项=>
    options.UseSqlServer(Configuration.GetConnectionString(“DefaultConnection”));
    services.AddIdentityCore();
    //注册依赖项附加服务
    services.AddAppServices();
    服务.附加性(选项=>
    {
    options.User.RequireUniqueEmail=true;
    options.Password.RequireNonAlphanumeric=false;
    })
    .AddRoles()
    .AddEntityFrameworkStores()
    .AddDefaultTokenProviders();
    services.configureApplicationOkie(选项=>
    {
    option.LoginPath=“/login”;
    option.AccessDeniedPath=“/Login/AccessDenied”;
    });
    //寄存器依赖性
    注册自动制图器(服务);
    注册服务(服务);
    }
    //此方法由运行时调用。请使用此方法配置HTTP请求管道。
    public void配置(IApplicationBuilder应用程序、IWebHostEnvironment环境)
    {
    if(env.IsDevelopment())
    {
    app.UseDeveloperExceptionPage();
    }
    其他的
    {
    app.UseExceptionHandler(“/Home/Error”);
    }
    app.ConfigureRequestPipeline();
    app.UseStaticFiles();
    app.UseAuthentication();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(端点=>
    {
    //登记所有路线
    EngineContext.Current.Resolve().RegisterRoutes(端点);
    });
    //app.UseEndpoints(端点=>
    //{
    //endpoints.MapControllerRoute(
    //名称:“默认”,
    //模式:“{controller=Login}/{action=Index}/{id?}”);
    //});
    }
    专用无效注册表服务(IServiceCollection服务)
    {
    //Get类libraryGetAssembly(ty)
    var serviceLibraries=Assembly.Load(“Student.Services”)
    .GetTypes()
    .Where(x=>x.IsClass&&x.GetInterfaces().Any()&&x.Namespace.Contains(“.Services.Services”))
    .ToList();