[英]C# process cannot access file because it is being used by another process
我正在用 C# 为 XML 文件编写一个导入程序。 每次运行导入时,我都需要从 URL 下载 XML 文件。
我已经编写了以下代码来下载它:
var xmlPath = @"C:\Desktop\xxx.xml";
public void DownloadFile(string url, string saveAs)
{
using(var webClient = new WebClient())
{
webClient.DownloadFileAsync(new Uri(url), saveAs);
}
}
和_downloader.DownloadFile(Config.FeedUrl, xmlPath);
调用该方法。 Url 位于配置文件 ( Config.FeedUrl
) 中。
然后当我尝试GetProperties(xmlPath);
我收到异常“进程无法访问该文件,因为该文件正被另一个进程使用。
我确保目的地存在,但我不确定为什么会出现此错误。
当您尝试访问属性时,您的异步下载操作似乎尚未完成。 在访问文件之前,您是否确保下载已完成?
您可以在 DownloadFileCompleted 事件中访问该文件。
http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadfilecompleted.aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.