pin*_*nki 2 c# asynchronous webclient-download
请帮我解决我面临的问题.
我在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);
}
}
Run Code Online (Sandbox Code Playgroud)
并 _downloader.DownloadFile(Config.FeedUrl, xmlPath);调用该方法.Url位于配置文件(Config.FeedUrl)中.
然后,当我尝试GetProperties(xmlPath);我得到异常"进程无法访问该文件,因为该文件正由另一个进程使用.
我确保目的地存在,但我不知道为什么我会收到此错误.
有人可以帮帮我吗?
谢谢
当您尝试访问属性时,看起来您的异步下载操作尚未完成.在访问文件之前,您是否确保下载完成?
您可以在DownloadFileCompleted事件中访问该文件.
http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadfilecompleted.aspx