FindProfilesByUserName 抛出重复键错误
本文关键字:错误 FindProfilesByUserName | 更新日期: 2023-09-27 18:36:20
使用 Sitecore 6.6.current,我尝试以编程方式访问用户的个人资料。
我希望我能找到任何被标记为管理员但不再拥有帐户的用户,以便我可以删除他们的管理员标志。
作为测试,我针对自己的帐户运行此帐户,如下所示:
var profiles = ProfileManager.FindProfilesByUserName(
ProfileAuthenticationOption.Authenticated,
@"domain'userName"
);
不幸的是,当我这样做时,我收到以下错误:
System.ArgumentException : 已添加项目。字典中的键:"域''用户名" 正在添加的键:"域''用户名"
虽然我理解该错误,但我不确定如何解决此问题,因为它使用的是标准System.Web.Profile
调用。
我做错了什么?
这并没有解决我的问题,但似乎 Sitecore 正在保存这些没有域的活动目录帐户。
通过循环访问用户并转储用户名发现:
var allUsers = Membership.GetAllUsers();
if (allUsers.Count > 0)
{
actionResults.InnerHtml += allUsers.Count + "<br />";
try
{
var count = 0;
foreach (var user in allUsers)
{
actionResults.InnerHtml += user.ToString() + "<br />";
count++;
if (count > 50)
{
break;
}
}
}
catch (Exception ex)
{
Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
}
}