コミュニティサーバーのユーザー名の問題-メンバーシップストアに見つからないユーザーユーザー名は存在しません

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

  •  03-07-2019
  •  | 
  •  

質問

特定のセクションIDでgooglesitemap.ashxをトラバースするたびに、コミュニティサーバーのインストールで頻繁にエラーが発生します。ユーザー名が修正されたと思われますが、これを反映するために投稿は再キャッシュされません。

データベースでselectステートメントを実行することでデータの整合性を確認する方法はありますか、データベースを強制的に再キャッシュする方法はありますか?

役に立ちましたか?

解決

MemberRoleProfileProviderのインスタンスにないユーザーが見つかった場合、このエラーはコミュニティサーバーによってスローされる可能性があります。

例としてCommunityServer.Users AddMembershipDataToUser()を参照してください

更新:


ユーザー名がcs_Usersとaspnet_Usersの2つのテーブルに保存されていることに気付いて、この問題を解決しました。どういうわけか、各テーブルでユーザー名が異なっていました。名前が同じになるように手動で更新すると、この問題が修正されました。

また、ユーザーは、ストアドプロシージャ 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は、ある時点でcs_Users(?)から取得された名前のテーブルであるため、ユーザー名が一致せず、ユーザーは後で結果に挿入されませんでした。


参照: http://dev.communityserver.com/ forums / t / 490899.aspx?PageIndex = 2

他のヒント

それほど多くはありませんが、次のクエリを実行すると、影響を受けるデータエントリを見つけることができます...

Select * 
FROM cs_Posts
Where UserID Not In (Select UserID 
                     From cs_Users Where UserAccountStatus = 2)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top