Вход/Регистрация
C# для профессионалов. Том II
вернуться

Ватсон Карли

Шрифт:

namespace DS = System.DirectoryServices;

Именно отсюда появляется

DS.PropertyCollection
.

Шаг 2 приложения завершен. Окно списка (

listbox
) содержит все имена свойств объектов
User
.

Поиск объектов User

Обработчик для кнопки поиска вызывает вспомогательный метод

FillResult
:

private void buttonSearch_Click(object render, System.EventArgs e) {

 try {

FillResult;

 } catch (Exception ex) {

MessageBox.Show("Check your input: " + ex.Message)

 }

}

В методе

FillResult
выполняется обычный поиск в полном домене активного каталога, как мы видели раньше.
SearchScope
задается как
Subtree
,
Filter
для строки мы получаем из
TextBox
, а свойства, которые должны быть загружены в кэш, задаются значениями, которые пользователь выбирает в окне списка

protected void FillResult {

 using (DirectoryEntry root = new DirectoryEntry) {

root.Username = username;

root.Password = password;

root.Path = "LDAP://" + hostname + defaultNamingContext;

using (DirectorySearcher searcher = new DirectorySearcher) {

seacher.SearchRoot = root;

searcher.SearchScope = SearchScope.Subtree;

searcher.Filter = textboxfilter.Text;

searcher.PropertiesToLoad.AddRange(GetProperties);

SearchResultCollection results = searcher.FindbAll;

StringBuilder summary = new StringBuilder;

foreach (SearchResult result in results) {

foreach (string propName in result.Properties.PropertyNames) {

foreach (string s in result.Properties[propName]) {

summary.Append(" " + propName + ": " + s + "\r\n");

}

}

summary.Append("\r\n");

}

textBoxResults.Text = summary.ToString;

}

 }

}

Запустив приложение, мы получим список всех объектов, которые прошли через фильтр:

Заключение

В этой главе рассматривалась архитектура активного каталога, важные концепции о доменах, деревьях и лесах. Теперь мы можем получить информацию обо всем предприятии. Создавая приложения, которые обращаются к активному каталогу, необходимо знать, что данные, которые мы считываем, возможно, не являются современными в связи с задержкой репликации.

С помощью классов из пространства имен

System.DirectoryServices
мы получаем простые способы доступа к активному каталогу для провайдеров ADSI. Класс
DirectoryEntry
делает возможным чтение и запись объектов непосредственно в хранилище данных.

С помощью класса

DirectorySearcher
можно выполнять сложный поиск и определять фильтры, задержки времени, свойства для загрузки, и область действия. Используя глобальный каталог, мы ускоряем поиск объектов по всему предприятию так как он хранит версию только для чтения всех объектов леса. 

Глава 16

Страницы ASP.NET

Для новичков в мире C# и .NET может показаться странным, почему в книгу включена глава, посвященная ASP.NET. Это совершенно новый язык, не так ли? Не совсем. Фактически, как мы увидим, можно использовать C# для создания страниц ASP.NET. Но мы забегаем вперед. Прежде всего необходимо обсудить, что же такое ASP.NET.

ASP.NET (Active Server Pages.NET — активные серверные страницы .NET), поставляется как часть платформы .NET и является технологией, которая позволяет динамически создавать документы на сервере Web, когда они запрашиваются через HTTP. Это в основном документы HTML, хотя в равной степени можно создавать, например, документы WML для использования в браузерах WAP или на самом деле что-то еще с помощью типа MIME.

Технология ASP.NET аналогична таким технологиям, как PHP, ColdFusion и другим, но между ними имеется одно существенное различие. ASP.NET, как предполагает ее название, была создана с целью полной интеграции в платформу .NET, часть которой включает поддержку C#.

Вполне возможно, что читатель обладает опытом работы с последней технологией компании Microsoft для получения динамической генерации содержимого — ASP. В этом случае, он должен, вероятно, знать, что программирование в этой технологии использует язык сценариев, такой как VBScript или JScript. Это работало, но некоторые вещи были затруднительны для тех программистов, которые привыкли использовать 'правильные' языки программирования, что приводило в результате к потере производительности.

  • Читать дальше
  • 1
  • ...
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: