我正在尝试从用户个人资料中获取用户个人资料图片。这是我的代码示例:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(SPContext.Current.Site.Url))
{
SPServiceContext ctx = SPServiceContext.GetContext(site);
UserProfileManager upm = new UserProfileManager(ctx); // Here I get error
if (upm.UserExists(loginUserName))
{
UserProfile up = upm.GetUserProfile(loginUserName);
if (!string.IsNullOrWhiteSpace(Convert.ToString(up["PictureUrl"].Value)))
{
this.userimage = Convert.ToString(up["PictureUrl"].Value);
}
}
}
});
以下是我为此代码提供的MSDN链接: https://msdn.microsoft.com/en-us/library/office/jj163142.aspx
但如果上述代码中的userProfileManager
声明中不存在用户个人资料,则会出现以下错误:
类型的例外 'Microsoft.Office.Server.UserProfiles.UserProfileApplicationNotAvailableException' 发生在Microsoft.Office.Server.UserProfiles.dll但不是 用户代码处理
其他信息: UserProfileApplicationNotAvailableException_Logging :: UserProfileApplicationProxy.GetRawPartitionID具有空代理
有没有其他方法可以检查用户配置文件是否以编程方式存在?提前谢谢。