如何:更改网站集中的所有用户配置文件的 PictureUrl 属性
上次修改时间: 2010年5月28日
适用范围: SharePoint Server 2010
本主题中的代码示例演示如何在网站集中更改每个用户的 PictureUrl 属性的值,以便该值与用户配置文件照片的新位置或 URL 相对应。
使用代码来更改所有用户的 PictureUrl 属性
当您将"我的网站"网站宿主从一个位置移动到另一个位置时,您可能想要同时移动"我的网站"照片的位置。如果移动照片的位置,则必须更改网站集中每个 UserProfile 对象的 PictureUrl 属性,以便其与新位置相对应。当新位置的 URL 与以前的 URL 不同时,或者,当您开始使用安全套接字层 (SSL) 协议,并且必须更改您的图像 URL 以便其符合此协议的要求(URL 以 https:// 开头而不是以 http:// 开头)时,此更改很有必要。以下代码示例演示如何更改一个网站集中每个 UserProfile 对象的 PictureUrl 属性。该网站集应与"我的网站"宿主相对应。本主题假设您在 Microsoft .NET Framework 3.5 上进行构建,并且已经向 Microsoft Visual Studio 2010 项目中添加了以下引用:
Microsoft.SharePoint
Microsoft.Office.Server.UserProfiles
using (SPSite site = new SPSite("siteUrl"))
{
SPServiceContext context = SPServiceContext.GetContext(site);
UserProfileManager myUserProfileManager = new UserProfileManager(context);
try
{
foreach (UserProfile aUser in myUserProfileManager)
{
string origUrl = (string)aUser[PropertyConstants.PictureUrl].Value;
string newUrl = origUrl.Replace("http://mysite", "https://mysite");
aUser[PropertyConstants.PictureUrl].Value = newUrl;
aUser.Commit();
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
}
}
请参阅
引用
Microsoft.Office.Server.UserProfiles