没有调用UploadProgressChanged事件 [英] UploadProgressChanged Event Not Being Called
本文介绍了没有调用UploadProgressChanged事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用下面显示的UploadFilesAsync方法上传文件.
I'm uploading files using the UploadFilesAsync method shown below.
var wc = new WebClient();
Uri myUri = new Uri(uriString);
wc.UploadFileAsync(myUri, "POST", filePath);
wc.UploadProgressChanged += new UploadProgressChangedEventHandler(wc_UploadProgressChanged);
wc.UploadFileCompleted += new UploadFileCompletedEventHandler(wc_UploadFileCompleted);
调用了我的UploadFileCompleted事件处理程序,但是由于某种原因,从不调用UploadProgressChanged事件处理程序.
My UploadFileCompleted event handler is called, but for some reason the UploadProgressChanged event handler is never called.
有什么想法吗?
推荐答案
更改:
wc.UploadFileAsync(myUri, "POST", filePath);
wc.UploadProgressChanged += new UploadProgressChangedEventHandler(wc_UploadProgressChanged);
wc.UploadFileCompleted += new UploadFileCompletedEventHandler(wc_UploadFileCompleted);
针对:
wc.UploadProgressChanged += new UploadProgressChangedEventHandler(wc_UploadProgressChanged);
wc.UploadFileCompleted += new UploadFileCompletedEventHandler(wc_UploadFileCompleted);
wc.UploadFileAsync(myUri, "POST", filePath);
您要绑定事件之后,必须绑定事件处理程序 首先.
You are binding the event AFTER the UploadFileAsync call, you must bind event handlers first.
MSDN示例:
// Sample call: UploadFileInBackground2("http://www.contoso.com/fileUpload.aspx", "data.txt")
public static void UploadFileInBackground2 (string address, string fileName)
{
WebClient client = new WebClient ();
Uri uri = new Uri(address);
client.UploadFileCompleted += new UploadFileCompletedEventHandler (UploadFileCallback2);
// Specify a progress notification handler.
client.UploadProgressChanged += new UploadProgressChangedEventHandler(UploadProgressCallback);
client.UploadFileAsync (uri, "POST", fileName);
Console.WriteLine ("File upload started.");
}
这篇关于没有调用UploadProgressChanged事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文