如何从C#System.DirectoryService调用抛出的异常中识别LDAP错误?

时间:2010-10-20 21:57:54

标签: c# .net ldap

我正在编写一个.NET应用程序来查询LDAP服务器,我无法弄清楚如何查看异常并找出LDAP端发生的事情。我正在使用DirectoryServices,并试图避免任何特定于ActiveDirectory的内容。

我创建了一个DirectorySearcher,然后执行

try
{  
    SearchResult result = searcher.FindOne();
}
catch(Exception e)
{
    // now what?
}

我希望在LDAP端发生某些类型的错误,例如找不到用户,禁用帐户等,我想识别这些特定错误。有具体的预期类型吗?

我注意到innerException有一个_COMPlusExceptionCode。这是LDAP端出现问题的可靠指标吗?我无法找到这些异常代码的枚举。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

列出了所有ADSI错误代码here,其中包含通用COM和通用ADSI错误,以及特定的LDAP error codes for ADSI 2.0

很难处理LDAP错误 - 通常情况下,你只是得到一个“服务器无法执行”或类似的东西,没有太多解释导致服务器无法完成其工作的原因。

答案 1 :(得分:0)

现在请致电.ToString()并查看人类可读的文字。