MVC5 到 MVC6 的转换无法让 RoleManager 工作
MVC5 to MVC6 converstion can't get RoleManager to work
我正在尝试将 MVC 5 应用程序升级到 MVC 6。5 应用程序中唯一的功能是管理用户和角色的能力。这是我们在工作中创建的 "template" 来包装所有 MVC 项目,为它们提供安全所需的所有 "login, register, and roles" 内容。它运作良好。但是,我们也需要 MVC 6 版本。
我们能够通过单用户身份验证安装 MVC 6,现在我正尝试从工作的 MVC 5 应用程序移植角色进程。
我的 RolesManagementController.cs 在 5 中工作,但在 6 中我在“RoleManager(IdentityRole)”下得到一条红线
此外,“.RoleExists(”和“.Update”下的红线。
以下是我在 6 版本中的使用语句:
using System;
using System.Linq;
using Microsoft.AspNet.Mvc;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using System.Collections.Generic;
using MVC6.Models;
和我在 5 版本中的 using 语句差别不大。
using System;
using System.Linq;
using System.Web.Mvc;
using Donut5.Models;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
随着 Asp.net (Asp.net 5) 的新版本,这些方法变成了异步的。你应该使你的方法 async
和 return Task<T>
或者只是 Task
并使用 await
关键字
调用角色管理器方法
await _rolesManager.RoleExistsAsync(...)
await _rolesManager.UpdateAsync(...)
示例:
public async Task MethodName()
{
var role = await _rolesManager.RoleExistsAsync(...);
await _rolesManager.UpdateAsync(...);
}
我正在尝试将 MVC 5 应用程序升级到 MVC 6。5 应用程序中唯一的功能是管理用户和角色的能力。这是我们在工作中创建的 "template" 来包装所有 MVC 项目,为它们提供安全所需的所有 "login, register, and roles" 内容。它运作良好。但是,我们也需要 MVC 6 版本。
我们能够通过单用户身份验证安装 MVC 6,现在我正尝试从工作的 MVC 5 应用程序移植角色进程。
我的 RolesManagementController.cs 在 5 中工作,但在 6 中我在“RoleManager(IdentityRole)”下得到一条红线
此外,“.RoleExists(”和“.Update”下的红线。
以下是我在 6 版本中的使用语句:
using System;
using System.Linq;
using Microsoft.AspNet.Mvc;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using System.Collections.Generic;
using MVC6.Models;
和我在 5 版本中的 using 语句差别不大。
using System;
using System.Linq;
using System.Web.Mvc;
using Donut5.Models;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
随着 Asp.net (Asp.net 5) 的新版本,这些方法变成了异步的。你应该使你的方法 async
和 return Task<T>
或者只是 Task
并使用 await
关键字
await _rolesManager.RoleExistsAsync(...)
await _rolesManager.UpdateAsync(...)
示例:
public async Task MethodName()
{
var role = await _rolesManager.RoleExistsAsync(...);
await _rolesManager.UpdateAsync(...);
}