Книга: C# для профессионалов. Том II

Обновление записей каталога

Обновление записей каталога

Объекты в активном каталоге обновляются так же легко, как и читаются. Изменение значений возможно после считывания объекта. Чтобы удалить все значения одного свойства, может вызываться метод PropertyValueCollection.Clear(). С помощью метода Add() к свойству могут добавляться новые значения. Remove() и RemoveAt() удаляют специфические значения из коллекции свойства:

using (DirectoryEntry de = new DirectoryEntry!)) {
 de.Path =
  "LDAP://celticrain/CN=Christian Nagel, " +
  "OU=Wrox Press, DC=eichkogelstrasse, DC=local";
 if (de.Properties.Contains("mobile")) {
  de.Properties["mobile"][0] = "+43 (664) 3434343434";
 }
 de.CommitChanges();
}

Чтобы изменить значение, зададим ему определенное значение. Посредством следующей строки кода для номера мобильного телефона задается новое значение, если оно существует, с использованием индекса PropertyValueCollection. С помощью индекса значение может только изменяться. Поэтому необходимо всегда проверять методом DirectoryEntry.Properties.Contains(), доступен ли атрибут:

de.Properties["mobile"][0] = "+43 (664) 3434343434";

He забудьте вызвать метод DirectoryEntry.CommitChanges() после создания или обновления новых объектов каталога. Иначе обновляется только кэш, а изменения не посылаются службе каталога.

Оглавление книги


Генерация: 1.719. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз