2012-11-08 13 views
8

मैं सक्रिय निर्देशिका में एक लंबी खोज को पूर्ववत कर रहा हूं और वास्तव में DirectorySearcher.Asynchronous = True को उपयोगकर्ता बनाना चाहता हूं। माइक्रोसॉफ्ट MSDNअसिंक्रोनस निर्देशिका खोजकर्ता (एलडीएपी)

पर बहुत कम प्रलेखन एक अतुल्यकालिक खोज परिणाम दिखा सके क्योंकि वे जबकि एक साथ अतिरिक्त परिणामों की खोज पाए जाते हैं प्रदान करता है। यह कार्यों के लिए उपयोगी है जैसे पॉप्युलेटिंग सूची बॉक्स।

इस संपत्ति के लिए डिफ़ॉल्ट सेटिंग गलत है।

खोज कब किया जाता है, यह जानने के लिए मेरा आवेदन कैसा है। मुझे कोई गुण, घटनाएं या कॉलबैक नहीं दिख रहा है जो इस अधिसूचना प्रदान करेगा। क्या किसी के पास कोई कार्यक्षमता है कि यह कार्यक्षमता कैसे प्राप्त करें? एक System.Collections.Concurrent.ConcurrentQueue (वस्तु की) करने के लिए

  • प्रारंभ Async निर्देशिका खोज
  • वापसी परिणाम
  • DirectorySearcher के रूप में चल रहा है मैं आइटम पर कार्रवाई कर सकते हैं:

    मूल रूप से मैं इस रहा हूँ कतार

आपकी सहायता के लिए बहुत बहुत धन्यवाद।

+0

मैं जा रहा हूँ इस कार्यक्षमता को पाने के लिए System.DirectoryServices.Protocols का उपयोग करके अपनी खुद की कक्षा बनाने की आवश्यकता है? –

उत्तर

1

निर्देशिका सेवा AD से बात करने के लिए ADSI का उपयोग करती है। जब आप एसिंक को सत्य पर सेट करते हैं तो यह IDirectorySearch.SetSearchPreferences का उपयोग करके ADS_SEARCHPREF_ASYNCHRONOUS खोज वरीयता को सत्य पर सेट करता है।

यहां एक पृष्ठ है जो सिंक और एसिंक खोजों के बीच अंतर बताता है। http://msdn.microsoft.com/en-us/library/windows/desktop/aa746498(v=vs.85).aspx

यह पेजिंग का वर्णन करता है। http://msdn.microsoft.com/en-us/library/windows/desktop/aa746414(v=vs.85).aspx

आप एक बड़े क्वेरी आप अपने खुद के धागे अंडे या थ्रेड पूल इस्तेमाल कर सकते हैं कर रहे हैं, 1000 के नीचे कुछ करने के लिए पृष्ठ आकार निर्धारित करते हैं, और अपने कतार पॉप्युलेट के रूप में परिणाम में आते हैं।

संबंधित मुद्दे