获取“ InvalidOperationException:无法解析类型服务”错误

时间:2019-11-06 13:13:51

标签: c# asp.net-core razor-pages web-development-server

尝试使用Identity Role Manager,.NET Core和Razor页面创建新角色时,出现“ InvalidOperationException:无法为类型解析服务”错误。

一旦试图访问该页面,它将引发错误。

由于似乎没有“ RoleManager”的接口,因此无法添加Transient服务

完全错误:

  

InvalidOperationException:无法解析类型的服务   'Microsoft.AspNetCore.Identity.RoleManager`1 [Microsoft.AspNetCore.Identity.IdentityRole]'   尝试激活“ iomra.Pages.createroleModel”时。

这是我的createroleModel页面的代码:

    using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;

namespace iomra.Pages
{
    public class createroleModel : PageModel
    {
        [Required]
        public string RoleName { get; set; }

        private RoleManager<IdentityRole> roleManager;
        public createroleModel(RoleManager<IdentityRole> roleMgr)
        {
            roleManager = roleMgr;
        }

        [HttpGet]
        public IActionResult CreateRole()
        {
            return RedirectToPage("/index");
        }


        [HttpPost]
        public async Task<IActionResult> Create()
        {
            if (ModelState.IsValid)
            {
                IdentityRole iR = new IdentityRole
                {
                    Name = RoleName
                };
                IdentityResult result = await roleManager.CreateAsync(iR);
                if (result.Succeeded)
                {
                    return RedirectToPage("/CreateRole");
                }
                foreach (IdentityError error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
            }

            return RedirectToPage("/createrole");
        }
    }
}

任何帮助将不胜感激。

0 个答案:

没有答案