Při vyhledávání pomocí značek Stack Overflow jsem narazil na tento web:http://www.lhotka. net/weblog/CallingRolesGetRolesForUserInAWCFService.aspx
Stručně řečeno:mezi .net 3.5 a .net 4 se zjevně něco zlomilo.
Chcete-li tento problém vyřešit, volejte:
string[] roles = Roles.Provider.GetRolesForUser(ServiceSecurityContext.Current.PrimaryIdentity.Name);
místo
string[] roles = Roles.GetRolesForUser(ServiceSecurityContext.Current.PrimaryIdentity.Name);
Rozdíl je v .Provider
který je přidán uprostřed. Po přidání to fungovalo dobře.