UploadStringAsync()的返回值。?
我的问题是正确的还是不正确我不知道,但我想知道是否可以使用WebClient返回post方法的UploadStringAsync()的值?
string serviceURL = REST_URI + servicePath; Uri URI = new Uri(serviceURL); System.Net.WebClient webClient = new WebClient(); webClient.Headers["ContentType"] = "application/json"; webClient.Headers["Accept"] = "application/json"; webClient.UploadStringCompleted += this.sendPostCompleted; webClient.UploadStringAsync(URI, HTTP_POST, result); return ??;
如果我们可以返回UploadStringAsync(URI, HTTP_POST, result);
请告诉我?
您可以使用UploadStringCompleted
事件并在事件处理程序中获取结果。 上传完成(失败或成功)后,将引发事件。
连接
client.UploadStringCompleted += new UploadStringCompletedEventHandler (UploadStringCallback2);
使用:
void UploadStringCallback2(object sender, UploadStringCompletedEventArgs e) { //e.Result use it }
如果要返回上传结果,可以使用AutoResetEvent
等待事件被提升
该function没有任何回报。 您已经为UploadStringCompleted
设置了事件处理程序,您可以在处理程序中获取操作的结果。
这是签名:
public delegate void UploadStringCompletedEventHandler( Object sender, UploadStringCompletedEventArgs e )
第二个参数包含您需要的信息: UploadStringCompletedEventArgs , Result
属性包含服务器的响应。
从.NET 4.5我们可以使用UploadStringTaskAsync
直接检索返回值。
string rspBody = await client.UploadStringTaskAsync(uri, "POST");
ref: MSDN