目录条目中的例外情况

时间:2011-07-02 09:08:15

标签: c# active-directory ldap

我创建了新的DirectoryEntry,我有异常

  

(system.runtime.interopservices.comexception)。

上一个DirectoryEntry已打开正常(directoryEntry)。

directoryEntry.Properties["manager"].Value中是正确的值。

using (DirectoryEntry manager = new DirectoryEntry(Convert.ToString(directoryEntry.Properties["manager"].Value)))
{                
   contact.ManagersGuid = manager.NativeGuid;
}

你知道哪里可能有问题吗?同一时刻更多打开的目录条目?

1 个答案:

答案 0 :(得分:2)

Properties["manager"].Value中存储的内容是什么?我的预感是:这不是一个完整,有效的LDAP路径......

如果我的预感是正确的,那么你就不会为经理找回有效的DirectoryEntry

请尝试使用此代码:

string manager = directoryEntry.Properties["manager"].Value.ToString();

// check what is stored in "manager" ! It needs to be a **full** LDAP path
// something like `LDAP://..........`

using (DirectoryEntry manager = new DirectoryEntry(manager))
{
   try
   {
      contact.ManagersGuid = manager.NativeGuid;
   }
   catch(Exception ex)
   {
       // log and handle the exception, if something goes wrong....
   }
}