use*_*597 6 c# active-directory
我使用以下代码来访问我的AD中的用户列表,但是在我将用户添加到组合框的行中,我得到一个空引用异常.
PrincipalContext AD = new PrincipalContext(ContextType.Domain, "mydomainip");
UserPrincipal u = new UserPrincipal(AD);
PrincipalSearcher search = new PrincipalSearcher(u);
foreach (UserPrincipal result in search.FindAll())
{
if (result.DisplayName != null)
{
comboBox2.Items.Add(result.DisplayName);
}
}
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?
我用a替换了组合框,Console.WriteLine(result.DisplayName)它工作正常.
不是100%确定这是否是问题 - 但PrincipalSearcher确实返回了一个Principal对象列表.
因此,如果 - 无论出于何种原因 - 您的搜索者会返回不是 a的东西UserPrincipal,那么您的对象result将为null - 而不是它的.DisplayName属性.
所以你应该把你的检查改为:
foreach (UserPrincipal result in search.FindAll())
{
if (result != null && result.DisplayName != null)
{
comboBox2.Items.Add(result.DisplayName);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17871 次 |
| 最近记录: |