110,535
社区成员
发帖
与我相关
我的任务
分享
webClient.UploadDataCompleted += callBackUploadDataCompleted;
webClient.UploadDataAsync(new Uri(url), "POST", sendData);
private void callBackUploadDataCompleted(object sender, UploadDataCompletedEventArgs e)
{
if (e.Error != null)
{
//此地方我想当错误的时候,把sendData也就是POST的内容加入到一个队列内,等稍后重新POST,但是这个sendData怎么取回来?
}
}
WebClient webClient = null;
byte[] data = null;
webClient.UploadDataCompleted += (s, e) =>
{
var len = data.Length;
};
如果你需要独自封装参数,那么应该自定义一个Session类型,用来保存会话信息。例如:public class Session
{
public byte[] Data;
public void OnCompleted(object sender, UploadDataCompletedEventArgs e)
{
var len = this.Data.Length;
}
}
WebClient webClient = null;
byte[] data = null;
var obj = new Session { Data = data};
webClient.UploadDataCompleted += obj.OnCompleted;
这实际上就是手动的方式,跟匿名委托的机制是一样的。