首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Task<HttpResponseMessage>获取HttpResponseMessage

从Task<HttpResponseMessage>获取HttpResponseMessage
EN

Stack Overflow用户
提问于 2016-07-28 18:26:48
回答 2查看 1.2K关注 0票数 2

在HttpClient using语句中,我需要从某处HttpResponseMessage解包。

代码语言:javascript
复制
using (HttpClient client = new HttpClient())
{
     client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authUser);
     Task<HttpResponseMessage> m = client.GetAsync(url);   
     // HttpResponseMessage msg = ???              
     task.Wait();
     return task.Result;
}

我的问题是:如何从这行获得HttpResponseMessage

代码语言:javascript
复制
Task<HttpResponseMessage> m = client.GetAsync(url);   
EN

回答 2

Stack Overflow用户

发布于 2016-07-28 18:27:32

您应该对任务执行await操作:

代码语言:javascript
复制
HttpResponseMessage m = await client.GetAsync(url);   

为此,调用方法需要标记为async

票数 2
EN

Stack Overflow用户

发布于 2018-11-09 21:55:34

要获取HttpResponseMessasge,您应该使用Task.Result属性。这是你从任务中得到的HttpResponseMessage代码(稍微修改了一下):

代码语言:javascript
复制
using (HttpClient client = new HttpClient())
{
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authUser);
    Task<HttpResponseMessage> task = client.GetAsync(uri);
    **HttpResponseMessage msg = task.Result;**
    task.Wait();
    return task.Result;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38633704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档