¿Actualizar la función del usuario actual cuando se cambia en el marco de identidad ASP.NET?

Usando VS 2013, la plantilla MVC estándar y el marco del proveedor de Identidad

El usuario ha iniciado sesión y tengo:

//....
UserManager.AddToRole(User.Identity.GetUserId(), "Members");       # Line X
RedirectToAction("Index", "Members");

Y el controlador de Miembros es el siguiente:

[Authorize(Roles="Members")]
public class MembersController : Controller
{
    // GET: Members
    public ActionResult Index()
    {
        return View();
    }
}

Después de ejecutar Line X, puedo confirmar que el usuario está agregado a la tabladbo.AspNetUserRoles. Sin embargo, el usuario al llegar al controlador Miembros falla la verificación de roles.User.IsInRole("Members") devuelve falso

Si el usuario cierra la sesión y luego vuelve a iniciarla, se realizará el acceso al controlador Miembros, es decirUser.IsInRole("Members") ahora vuelve verdadero.

¿Hay algo de caché? ¿Por qué la demora? ¿Cómo lo supero?

También intenté convertir el método en la línea X a un método asíncrono y uséUserManager.AddToRoleAsync. El mismo efecto retardado sigue ahí.