我的DBA已经通知我,我的一个应用程序真的让我们的LDAP服务器陷入困境。我已经多次查看过这段代码了,但我看不出有什么方法可以限制我点击LDAP的次数。所以现在我决定看看我实际获取数据的方式,看看是否有更好的方法。我没有开发我正在使用的实际数据模型,我不确定System.DirectoryServices.Protocols库是什么。
如果对使用.NET LDAP提供程序更熟悉的人可以给我一些建议,我将非常感激。这是我用来在LDAP服务器中查找条目的函数:
<DirectoryServicesPermission(SecurityAction.LinkDemand, Unrestricted:=True)> _
Public Overloads Shared Function GetSearchResultEntry(ByVal connection As LdapConnection, ByVal searchDirectoryPath As String, ByVal filter As String, _
ByVal attributes As String(), ByVal scope As Protocols.SearchScope) As SearchResultEntry
If connection Is Nothing Then
Throw New ArgumentNullException("connection", "An ldap connection must be provided in order to search for a directory.")
End If
If Strings.IsNullOrBlank(searchDirectoryPath) Then
Throw New ArgumentException("A directory path must be provided in order to search for a directory.", "searchDirectoryPath")
End If
If Strings.IsNullOrBlank(filter) Then
Throw New ArgumentException("A search filter must be provided in order to search for a directory.", "filter")
End If
Dim resp As SearchResponse = CType(connection.SendRequest(New SearchRequest(searchDirectoryPath, filter, scope, attributes)), SearchResponse)
If resp.Entries.Count > 0 Then
Return resp.Entries(0)
End If
Return Nothing
End Function
.NET LDAP提供程序可能有点慢吗?如果有人有一些代码示例,说明他们如何在他们的商店中使用LDAP,那将非常棒。
无论如何,提前感谢您的帮助。
谢谢,
CM
答案 0 :(得分:1)
两件事: