在我看来,在调用目录服务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
}
}
}
应该永远完成。我总是系统地和虔诚地做上述事情,从而冒任何风险吗?
答案 0 :(得分:9)
配置目录服务对象实际上非常重要 - 其中许多包装COM +资源,如果您处理失败,将导致资源泄漏。
所以是的,你做的是正确的,当然,不,当你将它们包裹在using
中时没有风险。