Client Time Limit with IDirectorySearch
Ein Client kann ein Zeitlimit festlegen, damit ein Server das Resultset zurückgibt. Wenn der Server nicht innerhalb des angegebenen Zeitraums auf eine Abfrage reagiert, kann der Client die Suche abbrechen und später erneut versuchen.
Die Einstellung für das Clientzeitlimit ist nützlich, wenn ein Client eine asynchrone Suche anfordert. Bei einer asynchronen Suche stellt der Client eine Anforderung und fährt dann mit anderen Aufgaben fort, während darauf gewartet wird, dass der Server die Ergebnisse zurückgibt. Es ist möglich, dass der Server offline geschaltet werden kann, ohne den Client zu benachrichtigen. In diesem Fall erhält der Client keine Benachrichtigung darüber, ob der Server die Abfrage noch verarbeitet oder nicht mehr live ist. Die Einstellung für das Clientzeitlimit gibt dem Client eine gewisse Kontrolle über Situationen wie diese.
Der Standardwert für das Clientzeitlimit ist kein Limit. Um ein Clientzeitlimit festzulegen, legen Sie eine ADS _ SEARCHPREF _ TIMEOUT-Suchoption mit einem ADSTYPE _ INTEGER-Wert fest, der das Clientzeitlimit in Sekunden im ADS _ SEARCHPREF _ INFO-Array enthält, das an die IDirectorySearch::SetSearchPreference-Methode übergeben wird. Ein Clientzeitlimit von 0 (null) gibt kein Zeitlimit an.
Im folgenden Codebeispiel wird gezeigt, wie Sie das Clientzeitlimit festlegen.
ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_TIMEOUT;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = 10;