Vb.net 异步获取Active directory用户
如何异步查询Active directory。 我有一些代码可以让用户同步Vb.net 异步获取Active directory用户,vb.net,active-directory,async-await,Vb.net,Active Directory,Async Await,如何异步查询Active directory。 我有一些代码可以让用户同步 Dim UserName as string = "" Dim Password as string = "" Dim LDAPPath As String = "" Dim DirectoryE As DirectoryEntry = New DirectoryEntry(LDAPPath, UserName, Password) Dim RootDSE As Director
Dim UserName as string = ""
Dim Password as string = ""
Dim LDAPPath As String = ""
Dim DirectoryE As DirectoryEntry = New DirectoryEntry(LDAPPath, UserName, Password)
Dim RootDSE As DirectoryServices.DirectoryEntry = globalroot
Dim objSearch As New System.DirectoryServices.DirectorySearcher(RootDSE)
Dim oResult As DirectoryServices.SearchResultCollection = Nothing
'objSearch.PropertiesToLoad.Add("uid")
'objSearch.PropertiesToLoad.Add("cn")
objSearch.Filter = "(&(objectcategory=user))"
objSearch.PageSize = 500
oResult = objSearch.FindAll
For Each ldentry As SearchResult In oResult
Console.WriteLine(ldentry.Properties("cn")(0).ToString)
Next
Console.ReadLine()
假设您使用的是.NET4.5。将代码更改为返回SearchResultCollection的函数: 那么就这样称呼它:
Private Async Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
For Each ldentry As SearchResult In Await Task.Run(Function() GetAllUsers())
Console.WriteLine(ldentry.Properties("cn")(0).ToString)
Next
Console.ReadLine()
End Sub
wait是否会导致在后台运行单独的任务。wait task.run函数是否只返回SearchResultCollection,或者是否可以返回一个ObjectsAwait列表?Await会导致程序异步等待任务返回。你可以返回任何你喜欢的东西,只要你把它包装在一个任务中
Private Async Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
For Each ldentry As SearchResult In Await Task.Run(Function() GetAllUsers())
Console.WriteLine(ldentry.Properties("cn")(0).ToString)
Next
Console.ReadLine()
End Sub