【发布时间】:2012-09-13 06:46:42
【问题描述】:
我正在尝试从服务器异步下载文件,为此我正在使用 weblcient。在以异步方式下载文件时,我在 DownloadFileAsync(Uri 地址,字符串文件名,对象)方法用户令牌中发送文件(类文件库的实例),但我无法从调用的方法中检索我在此发送的对象下载完成后。这是代码详细信息
公共无效下载文件异步( URI地址, 字符串文件名, 对象用户令牌 )
和 MSDN 说 > userToken
类型:System.Object 一个用户定义的对象,在异步操作完成时传递给调用的方法。
实际上,我在调用中传递了文件名:
wc.DownloadFileAsync(uri, file.StorePath,file);
而我的下载完成方式是
void wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
var file = (FileLibrary)sender;
this.DownloadedFileName = file.FileId;
}
错误是: 无法将“System.Net.WebClient”类型的对象转换为“FileLibrary”类型。
根据我对上述描述的理解,对象应该被转换为 filelibrary 很容易因为我在调用中发送的文件名是相同类型的。为什么我收到错误 或者是否有任何其他方法来检索发送的 Object:userToken
【问题讨论】:
标签: c# multithreading webclient