c# - 使用 C# 目录服务连接到 LDAP 时正确处理资源

标签 c# ldap directoryservices

在我看来,调用 Directory Services API 时应该始终正确地处理资源,无一异常(exception)(但许多示例、博客和教程经常忽略,或者对这个调用采取一种方式,对另一个调用采取另一种方式)。由于以下DS类都实现了Dispose方法,所以我只想一劳永逸地确认一下:

using (DirectoryEntry dirEntry = new DirectoryEntry()) 
{
    using (DirectorySearcher dirSearcher = new DirectorySearcher())
    {
        dirSearcher.SearchRoot = dirEntry;
        dirSearcher.Filter = ...;
        using (SearchResultCollection src = dirSearcher.FindAll())
        {
            //Other code that deals with result
        } 
    }
}

应该总是做。我总是系统地、认真地做上述事情是否会遇到任何风险?

最佳答案

处置目录服务对象实际上非常重要 - 它们中的许多包装了 COM+ 资源,如果处置失败,导致资源泄漏。

所以是的,您做的事情绝对是正确的,不,当您将它们包装在 using 中时没有风险。

关于c# - 使用 C# 目录服务连接到 LDAP 时正确处理资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2367964/

相关文章:

c# - 如何以编程方式更改 Active Directory 密码

c# - 如何在 AddModelError 消息中包含链接?

c# - 当我进行提交时标记以排除文件的一部分?

javascript - 使用 Passport-ldap 时不断收到错误请求

c# - 无法使用内容同步操作 (syncrepl) 从 OpenLDAP 服务器获取已删除的项目

c# - DirectorySearcher FindOne() 初始执行延迟

c# - 如何在 GroupPrincipal 上设置 ManagedBy 属性

C#。如何将高斯钟形曲线应用于我的峰值?

c# - 为什么附加 VS 调试器后应用程序的行为会有所不同?

java - LDAP 连接在 Linux 上的备用连接上抛出 SunCertPathBuilderException