2015-06-10 62 views
0

每當用戶按下按鍵時,我都使用LDAP搜索。這將導致在LDAP中進行大量搜索。例如,如果我正在搜索用戶Ann,它將搜索A,然後An,然後Ann。是否有一些命令會取消以前的搜索。如果我按Ann,LDAP應該停止搜索An並立即開始重新搜索Ann取消以前的搜索的LDAP命令

這是我的代碼:

deSearch.Filter = String.Format(@"(|{0})", mysearchquery); 

SearchResultCollection myresults = deSearch.FindAll(); 
+0

實現類似效果的另一種方法是限制您發送命令的頻率。即只搜索時,至少有3個字符,0.3秒內沒有發生新的擊鍵 –

+0

謝謝,有沒有一種方法可以測量在javascript中擊鍵之間的時間間隔?我的電話實際上是從使用javascript,ajax的網頁進入控制器 – user1651888

回答

1

是的,你應該使用放棄操作取消前LDAP操作(沒有結果,所以你不能確定它已經放棄),或取消擴展操作對於那些支持它的服務器(OpenDJ,OpenLDAP ...)。

在發送請求之前引入短暫延遲的想法也是最佳做法。