C# Asp.Net代码第一个角色提供程序已停止工作

C# Asp.Net代码第一个角色提供程序已停止工作,c#,asp.net-mvc,ef-code-first,roles,C#,Asp.net Mvc,Ef Code First,Roles,我首先在Visual Studio 2013中使用Entity Framework 6和MVC 5.1的代码。如果不对web.config、模型类或任何与角色直接相关的内容进行任何更改,我的应用程序将无法确定用户的角色成员身份。事实上,项目的大部分都是样板MVC。我有意识地试图让它尽可能简单。没什么特别的 身份验证工作正常,并且适当填充了System.Web.HttpContext.Current.User.Identity 输出string.Join(“,”,Roles.GetRolesFor

我首先在Visual Studio 2013中使用Entity Framework 6和MVC 5.1的代码。如果不对web.config、模型类或任何与角色直接相关的内容进行任何更改,我的应用程序将无法确定用户的角色成员身份。事实上,项目的大部分都是样板MVC。我有意识地试图让它尽可能简单。没什么特别的

身份验证工作正常,并且适当填充了System.Web.HttpContext.Current.User.Identity

输出string.Join(“,”,Roles.GetRolesForUser())显示用户虽然已登录,但不属于任何角色

仔细检查AspNetRoles、AspNetUsers和AspNetUserRoles会发现该用户与许多不同的角色相关联

不超过24小时前,所有特定于角色的功能都正常工作,因此我至少知道在某个时候所有功能都已正确配置


除了发布我的整个项目之外,不可能列出所有因素,但我希望其他人可能有类似的经验并提供可能的解决方案。

看来代码优先角色提供程序需要启用延迟加载。我之前禁用了惰性加载base.Configuration.LazyLoadingEnabled=false。我一启用此功能,角色提供程序就开始工作。

您可能希望开始使用某种形式的版本控制,以便可以返回并查看您随着时间的推移所做的更改。