我正在使用DirectoryServices.protocols.searchrequest类型来对Opends Store提出请求以检索某些条目。我希望能够控制响应中的条目返回哪些属性,并认为“属性”属性会做到。但是,该属性没有设置器,所以我不能做这样的事情: -

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有原因吗?无论如何,您都可以使用DirectorySearcher类 http://msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.aspx 查找条目。这是查找1结果的示例 http://msdn.microsoft.com/en-us/library/system.directoryservices.searchresult.aspx. 。使用Findall方法获得所有结果。

我怀疑您需要其他过滤器。

我确定你 ldapfilter 有一些标准。您将需要,并且(with&)包括 (&(Id=*)(File=*)) 为了获得您要寻找的结果。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top