繁体   English   中英

C# 进程无法访问文件,因为它正被另一个进程使用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM