Serverzeitlimit mit IDirectorySearch
Wenn Sie eine Suche auf einem ausgelasteten Server anfordern, sollten Sie den Server auffordern, die Suche auf ein bestimmtes Zeitlimit zu beschränken. Beispielsweise möchten Sie eine Anwendung ausführen, um einen wöchentlichen Bericht auf einem Server zu generieren, der in der Nähe seiner Kapazität ausgeführt wird. Um zu vermeiden, dass die gesamte CPU-Zeit verwendet wird und andere Vorgänge nicht ausgeführt werden, geben Sie das Suchzeitlimit auf einen kleinen Wert an, und führen Sie die Anwendung später erneut aus, wenn der Bericht nicht generiert werden kann.
Einige Server legen möglicherweise ein eigenes administratives Zeitlimit fest. Wenn Sie in diesen Fällen einen Grenzwert für die Suchzeit angeben, der größer als das administrative Zeitlimit ist, ignoriert der Server Ihre Spezifikation und verwendet stattdessen den internen Zeitgrenzwert.
Die Standardeinstellung für das Serverzeitlimit ist kein Limit. Um ein Serverzeitlimit festzulegen, legen Sie eine ADS_SEARCHPREF_TIME_LIMIT Suchoption mit einem ADSTYPE_INTEGER Wert fest, der das Serverzeitlimit in Sekunden im ADS_SEARCHPREF_INFO Array enthält, das an die IDirectorySearch::SetSearchPreference-Methode übergeben wird. Dieser Vorgang wird im folgenden Codebeispiel gezeigt. Ein Serverzeitlimit von 0 gibt kein Zeitlimit an.
ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_TIME_LIMIT;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = 10;