Я подключил свой 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