मैं .NET के System.DirectoryServices.AccountManagement
नामस्थान के साथ कुछ सक्रिय निर्देशिका कार्य कर रहा हूं। मैंने देखा कि Principal
IDisposable
लागू करता है, जो उस नामस्थान में में सब कुछ से सिरदर्द का कारण बनता है।क्या मुझे वास्तव में प्रत्येक प्रिंसिपल पर निपटान() को कॉल करने की आवश्यकता है?
उदा। निम्नलिखित कोड किसी समूह के सभी उपयोगकर्ताओं को पाने के लिए पर विचार करें:
PrincipalContext domain = new PrincipalContext(ContextType.Domain);
GroupPrincipal group = GroupPrincipal.FindByIdentity(domain, "MyGroup");
PrincipalSearchResult<Principal> users = group.GetMembers();
कि स्निपेट में हर एक प्रकार लागू करता IDisposable
, सभी उपयोगकर्ताओं खोज और खोज ही सेट परिणाम द्वारा दिया भी शामिल है। नहीं domain
और group
वस्तुओं की
निपटान किया जाता है एक बड़ी बात (यह एक using()
ब्लॉक के साथ आसान होगा), लेकिन मैं के बारे में हर परिणाम क्या करते हैं? क्या मुझे वास्तव में उस users
संग्रह के माध्यम से लूप करना है और हर किसी का निपटान करना है?
एफडब्ल्यूआईडब्ल्यू, [ग्रुप प्रिंसिपल.गेटमेम्बर] (http://msdn.microsoft.com/en-us/library/bb339975.aspx) केवल समूह को डिस्पोजेड दिखाता है। मुझे कोई दस्तावेज नहीं मिला है (अभी तक) जो "सदस्य जीवनकाल स्वामित्व" के इस अनुबंध को स्पष्ट रूप से बताता है: +1 क्योंकि मुझे यह विशेष अनुबंध (या शायद इसकी कमी), दिलचस्प लगता है। हालांकि, यहां मेरा [आईडीस्पोजेबल अनुबंध पर सामान्य दृश्य] है (http://stackoverflow.com/a/14781766/166390)। –
यहां एक उत्तर है जो मदद कर सकता है: http://stackoverflow.com/a/14627265/2258 –