社区服务器用户名问题 - 用户在会员店中找不到用户名不存在
问题描述:
每当googlesitemap.ashx在特定的sectionID上遍历时,我的社区服务器安装频繁出现错误。我怀疑一个用户名已被修改,但这些帖子没有反映出来。社区服务器用户名问题 - 用户在会员店中找不到用户名不存在
有没有办法可以通过在数据库上执行select语句来检查数据完整性,或者是否有办法强制数据库重新缓存?
答
这种错误可能是由社区服务器如果发现不是用户抛出MemberRoleProfileProvider的实例。
见CommunityServer.Users AddMembershipDataToUser()作为一个例子
UPDATE:
我被注意到,用户名是存储在两个表中解决了这个问题,我的情况 - cs_Users和aspnet_Users。不知何故,每个表中的用户名都是不同的。手动更新名称是相同的,解决了这个问题。
此外,用户会冷落成员的以下行的存储过程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)