用户配置文件服务 - 自定义属性 - 未找到属性

时间:2012-01-16 08:46:34

标签: sharepoint-2010

我已将Active Directory与我的User Profile Service附加,并从AD添加了自定义属性(employeeNumber)。在我完全同步用户配置文件服务后,我可以从中央管理员正确读取所有employeeNumber属性值,并且管理员面板中的用户配置文件属性计数也是69。

但是,当我尝试从我的sharepoint应用程序中读取employeeNumber数据时,它会抛出异常“Property Not Found”,并且用户概要文件管理器的属性数为68.

我已经将自定义属性的隐私设置设置为“Everyone”,并且非常确定我在代码中使用了正确的内部自定义属性名称。

有什么建议吗?

这是我的代码示例:

            SPServiceContext serverContext =  SPServiceContext.GetContext(SPContext.Current.Site);  
            UserProfileManager profileManager = new UserProfileManager(serverContext);  
            UserProfile user =  profileManager.GetUserProfile(System.Web.HttpContext.Current.User.Identity.Name);

            int count = profileManager.Properties.Count; // Count = 68 [custom prop is not included]
            string department = user["Department"].Value.ToString(); // Works fine
            string employeeNumber = user["employeeNumber"].Value.ToString(); // Property Not Found

1 个答案:

答案 0 :(得分:1)

其中一个原因可能是您创建了多个用户配置文件服务应用程序,并且Web应用程序(您正在尝试上述代码)使用的服务应用程序实例不是您添加自定义属性的实例。