Memorizzazione dei risultati nella cache con IDirectorySearch
La preferenza ADS_edizione StandardARCHPREF_CACHE_RESULTS memorizza nella cache il set di risultati nel client. La memorizzazione nella cache dei risultati consente a un'applicazione di conservare un set di risultati recuperato e di scorrere nuovamente le righe recuperate. Abilita anche il supporto del cursore in cui è possibile usare i metodi IDirectorySearch::GetNextRow e IDirectorySearch::GetPreviousRow per spostare verso l'alto e verso il basso il set di risultati.
Per impostazione predefinita, la memorizzazione nella cache dei risultati è disabilitata. La memorizzazione nella cache dei risultati deve essere abilitata se una delle condizioni seguenti è vera:
- Se lo stesso set di risultati deve essere enumerato più volte senza eseguire di nuovo la ricerca nel server.
- Se si esegue la ricerca è a elevato utilizzo di risorse nel server (connessione lenta, set di risultati di grandi dimensioni o query complessa).
- Se è necessario il supporto del cursore.
Disattivare la memorizzazione nella cache se l'applicazione deve ridurre i requisiti di memoria per memorizzare nella cache un set di risultati di grandi dimensioni nel client.
La memorizzazione nella cache dei risultati aumenta i requisiti di memoria nel client, pertanto la memorizzazione nella cache dei risultati deve essere disabilitata se si tratta di un problema.
Per abilitare la memorizzazione nella cache dei risultati, impostare un'opzione di ricerca ADS_edizione StandardARCHPREF_CACHE_RESULTS con un valore ADSTYPE_BOOLEAN true nella matrice ADS_edizione StandardARCHPREF_INFO passata al metodo IDirectorySearch::SetSearchPreference.
Nell'esempio di codice seguente viene illustrato come abilitare la memorizzazione nella cache dei risultati.
ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_CACHE_RESULTS;
SearchPref.vValue.dwType = ADSTYPE_BOOLEAN;
SearchPref.vValue.Boolean = TRUE;