我正在尝试使用 client.DownloadFile() 下载文件,但无论我做什么,该文件都不会关闭。
using (WebClient client = new WebClient())
{
client.DownloadFile(link, $"tempImage.jpg");
client.Dispose();
}
File.Delete("tempImage.jpg");//Ошибка: файл используется другим процессом
我正在使用.Net Core 3.1。提前致谢
WebClient
是一个不推荐使用的类使用
HttpClient
,它的工作原理是这样的:至于文件没有关闭,这其实是不可能的,因为从所有的来源和逻辑来看,文件应该是关闭的。在您的代码中,您的代码中唯一异常的地方是对
Dispose()
. 也就是说,问题不在显示的代码范围内。关于评论中的防病毒软件是一个相当真实的故事。顺便说一句,.NET Core在内部
WebClient
使用相同的。HttpClient