Поделиться через


Ограничение времени клиента с IDirectorySearch

Клиент может наложить ограничение времени для сервера, чтобы вернуть результирующий набор. Если серверу не удается ответить на запрос в течение указанного периода времени, клиент может отказаться от поиска и повторить попытку позже.

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

Значение по умолчанию для ограничения времени клиента не ограничено. Чтобы задать ограничение времени клиента, задайте параметр поиска ADS_SEARCHPREF_TIMEOUT со значением ADSTYPE_INTEGER, содержащим ограничение времени клиента в секундах, в массиве ADS_SEARCHPREF_INFO, переданном методу IDirectorySearch::SetSearchPreference. Ограничение времени клиента, равное нулю, не указывает на ограничение времени.

В следующем примере кода показано, как задать ограничение времени клиента.

ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_TIMEOUT;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = 10;