作为一般规则,您应该处理任何一次性对象。这将允许清理任何资源。然而,并没有保证可处理类型上调用dispose - 消费者可能忽略调用它,CLR不会自动调用它。如果类型真的需要执行其清理逻辑(例如在分配非托管内存或在文件系统上创建文件堆时),它应该与处理模式一起实现终结器。如果尚未调用终结器(通常是通过处置对象完成),CLR将在进程退出时调用终结器。是的,关于此有一些警告(例如,错误的终结器可能破坏其他可终结实例的进程),但CLR保证至少尝试在进程退出时运行所有终结器。因此,在技术上,在这种情况下,我认为您绝对不必调用处理方法。然而,养成好习惯也是不错的。
WebClient
不是线程安全的。如果您将其用于static
字段中,则存在很多不当使用的机会。 - Marc Gravell