Служба профилей пользователей - Пользовательское свойство - Свойство не найдено - PullRequest
2 голосов
/ 16 января 2012

Я подключил свой Active Directory к моей службе профилей пользователей и добавил пользовательское свойство (employeeNumber) из AD. После полной синхронизации службы профилей пользователей я могу правильно прочитать все значения свойств employeeNumber из Central Admin, а в панели администратора количество свойств профиля пользователя равно 69.

Но, когда я пытаюсь прочитать данные employeeNumber из моего приложения sharepoint, оно выдает исключение «Свойство не найдено», и счетчик свойств менеджера профилей пользователей равен 68.

Я уже установил настройку конфиденциальности своего настраиваемого свойства на «Все» и уверен, что в моем коде используется правильное внутреннее имя настраиваемого свойства.

Есть предложения?

Вот мой пример кода:

            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 Ответ

1 голос
/ 10 сентября 2012

Одной из причин может быть то, что вы создали более одного приложения-службы профилей пользователей, а веб-приложение (для которого вы пытаетесь использовать приведенный выше код) использует экземпляр приложения-службы, отличный от того, в который вы добавили настраиваемое свойство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...