1

我正在使用 DirectoryServices.Protocols.SearchRequest 类型向 OpenDS 存储发出请求以检索一些条目。我希望能够控制为响应中的条目返回哪些属性,并认为“属性”属性可以做到这一点。但是,该属性没有设置器,所以我不能做这样的事情: -

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;

谁能指导我应该做些什么来过滤请求以仅返回具有指定属性而不是所有属性的条目。

4

3 回答 3

1

具有讽刺意味的是,这奏效了:-

SearchRequest searchRequest = new SearchRequest(hubTable, ldapFilter, SearchScope.Subtree, new[] { "AppId", "File" });
于 2010-10-13T17:25:46.180 回答
0

您使用 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 方法获取所有结果。

于 2010-10-12T23:24:54.843 回答
0

我怀疑你需要一个不同的过滤器。

我相信你ldapfilter有一些标准。您需要将其与它(与&)包括在内(&(Id=*)(File=*)),以获得您正在寻找的结果。

于 2010-10-13T13:35:16.187 回答