4

在我看来,在调用目录服务 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
        } 
    }
}

应该总是做。我是否总是系统地、虔诚地执行上述操作会遇到任何风险?

4

1 回答 1

9

释放目录服务对象实际上非常重要——它们中的许多都包装了 COM+ 资源,如果不释放就会导致资源泄漏。

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

于 2010-03-03T00:38:01.307 回答