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

cat*_*hat 4 c# directoryservices ldap

在我看来,在调用目录服务API时,应该总是正确地处理资源,但是很多样本,博客和教程经常忽略,或者用这种调用做一种方式,而另一种方式用另一种调用.由于以下所有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
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

应该永远做到.我总是系统地和虔诚地做上述事情,从而冒任何风险吗?

Aar*_*ght 9

配置目录服务对象实际上非常重要 - 其中许多包装COM +资源,如果您处理失败,导致资源泄漏.

所以,是的,你做的是正确的,绝对是,不,当你把它们包起来时没有风险using.