在我看来,在调用目录服务 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
}
}
}
应该总是做。我是否总是系统地、虔诚地执行上述操作会遇到任何风险?