Community-Server Benutzername Problem - User Benutzername nicht in Mitgliedschaftsspeicher gefunden existiert nicht

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

  •  03-07-2019
  •  | 
  •  

Frage

Ich habe einen Fehler häufig von unserer Server-Installation auftreten, wenn die googlesitemap.ashx auf einem bestimmten sectionid durchlaufen wird. Ich vermute, dass ein Benutzername geändert wurde, aber die Beiträge havn't erneut zwischengespeichert, dies zu reflektieren.

Gibt es eine Möglichkeit ein, die Daten integruity auf der Datenbank durch Ausführen einer Select-Anweisung überprüfen, alternativ gibt es eine Möglichkeit, die Datenbank zu zwingen zu recache?

War es hilfreich?

Lösung

Dieser Fehler könnte durch Community-Server geworfen werden, wenn es Benutzer findet, die nicht in der Instanz von MemberRoleProfileProvider ist.

Siehe CommunityServer.Users AddMembershipDataToUser () als Beispiel

UPDATE:


Ich löste dieses Problem für meinen Fall von zu bemerken, dass die Benutzernamen in zwei Tabellen gespeichert sind - cs_Users und aspnet_Users. Es stellte sich irgendwie der Benutzername aus in jeder Tabelle war anders. so die Namen waren das gleiche feste dieses Problem manuell zu aktualisieren.

Auch würde der Benutzer in der folgenden Zeile der gespeicherten Prozedur aus der Mitgliedschaft links 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

Die @tbNames ist eine Tabelle mit Namen von cs_Users kommt (?) Zu einem bestimmten Zeitpunkt und daher haben die Benutzername nicht überein, und Benutzer wurde auf das Ergebnis später nicht mehr eingefügt.


Siehe auch: http://dev.communityserver.com/ Foren / t / 490899.aspx? Pageindex = 2

Andere Tipps

Nicht so sehr eine Antwort, aber Sie können die betroffenen Dateneinträge finden, indem Sie die folgende Abfrage ausgeführt wird ...

Select * 
FROM cs_Posts
Where UserID Not In (Select UserID 
                     From cs_Users Where UserAccountStatus = 2)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top