Condividi tramite


Limite di tempo client con IDirectorySearch

Un client può imporre un limite di tempo per un server per restituire il set di risultati. Quando il server non risponde a una query entro il periodo di tempo specificato, il client può abbandonare la ricerca e riprovare più tardi.

La preferenza limite di tempo client è utile quando un client richiede una ricerca asincrona. In una ricerca asincrona, il client effettua una richiesta e quindi procede con altre attività durante l'attesa che il server restituisca i risultati. È possibile che il server possa essere offline senza notificare al client. In questo caso, il client non avrà alcuna notifica se il server sta ancora elaborando la query o se non è più attivo. La preferenza limite di tempo client offre al client un controllo di situazioni come questa.

Il valore predefinito per il limite di tempo client non è limitato. Per impostare un limite di tempo client, impostare un'opzione di ricerca ADS_edizione StandardARCHPREF_TIMEOUT con un valore ADSTYPE_INTEGER che contiene il limite di tempo client, in secondi, nella matrice ADS_edizione StandardARCHPREF_INFO passata al metodo IDirectorySearch::SetSearchPreference. Un limite di tempo client pari a zero indica che non è previsto alcun limite di tempo.

Nell'esempio di codice seguente viene illustrato come impostare il limite di tempo del client.

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