Nej, det cachas inte. GetRolesForUser är gjord för att bara köras en gång per inloggning (tilldelning av de roller som sedan kan kollas med User.IsInRole). Vill man använda den mer så får man leva med att providern anropas varje gång. Vill du ha cachning får du bygga en egen RoleProvider (ärv/wrappa in den provider du använder)
Tänkte höra hur vida en sån här funktion cachas : Roles.GetRolesForUser("username")
Vad jag förstår så kommer resultatet "direkt" ifrån databasen. Men eftersom att den bara returnerar en string() så borde det väl gå att cacha resultatet så slipper sql-frågan göras varje gång jag kallar funktionen eller har jag fel?