C# 未调用UploadProgressChanged事件

C# 未调用UploadProgressChanged事件,c#,file-upload,uri,C#,File Upload,Uri,我使用UploadFileAsync方法上传文件,如下所示 var wc = new WebClient(); Uri myUri = new Uri(uriString); wc.UploadFileAsync(myUri, "POST", filePath); wc.UploadProgressChanged += new UploadProgressChangedEventHandler(wc_UploadProgressChanged); wc.UploadFileCompleted +

我使用UploadFileAsync方法上传文件,如下所示

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事件处理程序

你知道为什么吗?

改变:

wc.UploadFileAsync(myUri, "POST", filePath);
wc.UploadProgressChanged += new UploadProgressChangedEventHandler(wc_UploadProgressChanged);
wc.UploadFileCompleted += new UploadFileCompletedEventHandler(wc_UploadFileCompleted);
用于:

在UploadFileAsync调用后绑定事件,必须绑定事件处理程序 首先

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.");
}
更改:

wc.UploadFileAsync(myUri, "POST", filePath);
wc.UploadProgressChanged += new UploadProgressChangedEventHandler(wc_UploadProgressChanged);
wc.UploadFileCompleted += new UploadFileCompletedEventHandler(wc_UploadFileCompleted);
用于:

在UploadFileAsync调用后绑定事件,必须绑定事件处理程序 首先

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.");
}

您应该首先添加EventHandler,然后调用将触发它们的方法

wc.UploadProgressChanged += new UploadProgressChangedEventHandler(wc_UploadProgressChanged);
wc.UploadFileCompleted += new UploadFileCompletedEventHandler(wc_UploadFileCompleted);
wc.UploadFileAsync(myUri, "POST", filePath);

您应该首先添加EventHandler,然后调用将触发它们的方法

wc.UploadProgressChanged += new UploadProgressChangedEventHandler(wc_UploadProgressChanged);
wc.UploadFileCompleted += new UploadFileCompletedEventHandler(wc_UploadFileCompleted);
wc.UploadFileAsync(myUri, "POST", filePath);

尝试此操作后,仍然从未调用“进度更改”事件。您确定上载有效吗?上载文件后是否在服务器上获取该文件?尝试了此操作,但始终未调用“进度更改”事件。是否确实上载有效?上载文件后,您是否在服务器上获取该文件?当UploadFileCompletedEventHandler启动时,它是在目标目标目标上上载的文件?当UploadFileCompletedEventHandler启动时,它是在目标目标目标上上载的文件?