Problème de nom d'utilisateur du serveur de communauté - Le nom d'utilisateur introuvable dans le magasin de membres n'existe pas

StackOverflow https://stackoverflow.com/questions/156688

  •  03-07-2019
  •  | 
  •  

Question

J'ai une erreur fréquente liée à l'installation de notre serveur de communauté lorsque le fichier googlesitemap.ashx est traversé sur un sectionID spécifique. Je soupçonne qu'un nom d'utilisateur a été modifié, mais les publications n'ont pas été relocalisées pour refléter cela.

Existe-t-il un moyen de vérifier l’intégrité des données en effectuant une instruction select sur la base de données; sinon, existe-t-il un moyen de forcer la base de données à se remettre en cache?

Était-ce utile?

La solution

Cette erreur peut être générée par le serveur de communauté s'il trouve des utilisateurs qui ne sont pas dans l'instance de MemberRoleProfileProvider.

Voir CommunityServer.Users AddMembershipDataToUser () à titre d'exemple

UPDATE:

J'ai résolu ce problème pour mon cas en remarquant que les noms d'utilisateur sont stockés dans deux tables - cs_Users et aspnet_Users. Il s'avère que le nom d'utilisateur était différent dans chaque table. La mise à jour manuelle afin que les noms soient identiques a résolu ce problème.

De même, l'utilisateur n'aurait pas adhéré à la ligne suivante de la procédure stockée cs_Membership_GetUsersByName :

INSERT INTO @tbUsers
  SELECT UserId
  FROM   dbo.aspnet_Users ar, @tbNames t
  WHERE  LOWER(t.Name) = ar.LoweredUserName AND ar.ApplicationId = @ApplicationId

@tbNames est une table de noms provenant de cs_Users (?) à un moment donné. Par conséquent, les noms d'utilisateur ne correspondent pas et l'utilisateur n'a pas été inséré ultérieurement dans le résultat.

Voir aussi: http://dev.communityserver.com/ forums / t / 490899.aspx? PageIndex = 2

Autres conseils

Pas vraiment une réponse, mais vous pouvez trouver les entrées de données affectées en lançant la requête suivante ...

Select * 
FROM cs_Posts
Where UserID Not In (Select UserID 
                     From cs_Users Where UserAccountStatus = 2)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top