Я реализовал собственный RoleProvider для проекта.RoleProvider работает, но репозиторий, который я использую для выборки пользовательских ролей, заполняется только после сборки.Когда я выходю из системы, меняю роль пользователя, снова захожу, пользователь сохраняет старые роли.
public class CmsRoleProvider : RoleProvider
{
private EntityDB _db { get; set; }
public CmsRoleProvider()
{
_db = new EntityDB();
}
public override string[] GetRolesForUser(string username)
{
var user = _db.Users.Where(u => u.EmailAddress == username).SingleOrDefault();
var roles = user.UserRoles.Select(u => u.Role.Name).ToList<string>();
return roles.ToArray();
}
}
В приведенном выше примере пользователь получает правильные роли только после построения проекта.Когда я создаю репозиторий внутри функции GetRolesForUser, он работает нормально.
Есть ли проблема с кэшированием?Кто может помочь мне с этим.