私はWebアプリケーションを持っており、 "Browse User Pictures"という機能があります。私は1700人のユーザーを持っています。ページあたりのアクティブディレクトリから30レコードしか取得していないと同時に、移動中のすべてのデータをロードしない
DirectorySearcher ldapSearcher = new DirectorySearcher(lrootDSE, strRetrieve);
ldapSearcher.PageSize = 20;
ldapSearcher.SizeLimit = 1700;
をしかし、それは、外出先ですべての情報をロードし、それが自分のアプリケーションを遅く:今、私はそのような操作を行うために、Active Directoryのクエリを使用しています。 誰かが私がページごとにユーザー30のエントリを表示し、一度にActive Directoryから30のレコードしか取得できない方法を教えてもらえますか?
おかげで、私のコードはC#です。そして、私は文字列strRetrieve = "(&(objectCategory = person)(objectClass = user))と統合するクエリを見つけました。ので、私はSearchResultCollectionの結果を書く= ldapSearcher.FindAll();一度に30人のユーザーしか見つかりません。 –
これを確認してくださいhttp://stackoverflow.com/questions/90652/can-i-get-more-than-1000-records-from-a-directorysearcher-in-asp-net/90668#90668しかし、私はそれが助けることができると思う。 –
再びfindall()はすべての値を取得します。私のアプリケーションはそれで本当に遅くなります。私はクライアントサイドと同期してサーバ側のページングをしたい。したがって、ユーザーはページングを見ることができ、必要な任意のページに移動することができ、同時にそのページのレコードはアクティブなディレクトリからフェッチされます。私はあなたの助けに感謝します。 –