لا يمكن تحديد السمات التي يجب العودة إليها عند الاستعلام عن متجر LDAP
-
29-09-2019 - |
سؤال
أنا أستخدم services. أريد أن أكون قادرًا على التحكم في السمات التي يتم إرجاعها للإدخالات في الاستجابة وأعتقد أن خاصية "السمات" ستفعل ذلك. ومع ذلك ، فإن هذه الخاصية لا تحتوي على جهاز لذلك لا يمكنني فعل شيء مثل هذا:-
SearchRequest searchRequest = new SearchRequest
{
DistinguishedName = hubTable,
Filter = ldapFilter,
Scope = SearchScope.Subtree,
Attributes = new StringCollection{"Id", "File"}
};
//run the query and get the results
SearchResponse results = connection.SendRequest(searchRequest) as SearchResponse;
هل يمكن لأي شخص أن يوجهني إلى ما يجب أن أفعله لتصفية الطلب لإرجاع إدخالات فقط بالسمات المحددة وليس جميعها.
المحلول
ومن المفارقات أن هذا عمل:-
SearchRequest searchRequest = new SearchRequest(hubTable, ldapFilter, SearchScope.Subtree, new[] { "AppId", "File" });
نصائح أخرى
هل هناك سبب لاستخدام SearchResuest؟ في أي حال ، يمكنك استخدام فئة ActorySearcher http://msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.aspx لإدخالات البحث. فيما يلي مثال على البحث عن نتيجة واحدة http://msdn.microsoft.com/en-us/library/system.directoryservices.searchresult.aspx. استخدم طريقة Findall للحصول على جميع النتائج.
أظن أنك ستحتاج إلى مرشح مختلف.
وأنا واثق بك ldapfilter
لديه بعض المعايير. ستحتاج إلى ذلك (مع و) لتضمين (&(Id=*)(File=*))
من أجل الحصول على النتائج التي تبحث عنها.