En cherchant sur Google les balises fournies par Stack Overflow, je suis tombé sur ce site :http://www.lhotka. net/weblog/CallingRolesGetRolesForUserInAWCFService.aspx
En bref :apparemment, quelque chose s'est cassé entre .net 3.5 et .net 4.
Pour résoudre ce problème, appelez :
string[] roles = Roles.Provider.GetRolesForUser(ServiceSecurityContext.Current.PrimaryIdentity.Name);
au lieu de
string[] roles = Roles.GetRolesForUser(ServiceSecurityContext.Current.PrimaryIdentity.Name);
La différence est dans le .Provider
qui est ajouté au milieu. Après avoir ajouté ceci, cela a bien fonctionné.