我正在使用
因此,我假设如果没有引发异常,那么请求始终成功(这可能并不是真实情况,因为HTTP响应状态码可以是!= 2xx)。从UploadFileAsync的文档中,我无法确定非200响应是否也被处理。
我对C#非常陌生,似乎找不到一种访问特定异步请求响应头的方法。对于每个
虽然我不会同时执行多个并行请求,但我仍然希望知道是否有更优雅的方法来检索特定请求的响应标头/状态码,而不是必须从
谢谢。
System.Net.WebClient
以异步模式执行一些HTTP操作。使用异步操作的原因是,最重要的是,我可以获得进度更改指示 - 正如文档所述,这仅适用于异步操作。
假设我已经设置好了WebClient:
this.client = new WebClient();
this.client.UploadStringCompleted +=
new UploadStringCompletedEventHandler(textUploadComplete);
以及委托:
private void textUploadComplete(Object sender, UploadStringCompletedEventArgs e)
{
if (e.Error != null)
{
// trigger UI failure notification
return;
}
// FIXME not checking for response code == 200 (OK)
// trigger UI success notification
}
因此,我假设如果没有引发异常,那么请求始终成功(这可能并不是真实情况,因为HTTP响应状态码可以是!= 2xx)。从UploadFileAsync的文档中,我无法确定非200响应是否也被处理。
我对C#非常陌生,似乎找不到一种访问特定异步请求响应头的方法。对于每个
WebClient
,在任何给定时间只能保存一个响应(或一组标题)。虽然我不会同时执行多个并行请求,但我仍然希望知道是否有更优雅的方法来检索特定请求的响应标头/状态码,而不是必须从
WebClient
获取“最后可用”的响应。谢谢。
await client.UploadStringTaskAsync(...); var headers = client.ResponseHeaders;
- TCC