首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NetStandard Http SendAsync永不返回

.NetStandard Http SendAsync永不返回
EN

Stack Overflow用户
提问于 2017-08-04 03:38:13
回答 1查看 498关注 0票数 1

我正在创建一个NuGet包来从一个在线API中检索图像。我使用的是.NetStandard 1.4和System.Net.Http版本4.3.2。每次我调用Login方法来获得访问api的令牌时,http调用都不会返回,只会挂起,直到由于超时而出现任务取消异常为止。我尝试过在网上找到多个解决方案,比如确保异步调用之前没有.Result或.Wait(),测试中也没有。我也尝试使用一个不正确的url,调用仍然挂起,并且不返回,说url不存在。

我已经把主要的http电话发到下面。任何帮助,为什么这是悬念,将是非常感谢。

代码语言:javascript
复制
HttpRequestMessage requestMessage = new HttpRequestMessage();
requestMessage.RequestUri = new Uri($"{BaseUrl}/login");
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(HttpContentType.JSON));
requestMessage.Method = HttpMethod.Post;
requestMessage.Content = new StringContent(JsonConvert.SerializeObject(values), Encoding.UTF8, HttpContentType.JSON);

using (HttpClient httpClient = new HttpClient())
{
    using (HttpResponseMessage response = await httpClient.SendAsync(requestMessage))
    {
        if (response.IsSuccessStatusCode == true)
        {
            // Do work
        }
    }
}

BaseUrl值和该网站的路径是正确的,我已经检查过了。此外,我使用了相同的链接和所有的信息,我需要在邮递员,以核实我使用的是正确的信息。

我尝试使用MSTest、控制台项目和WPF项目(使用按钮并单击event来触发此方法)来测试此方法。每个方法都挂起,并且永远不会通过

代码语言:javascript
复制
using (HttpResponseMessage ...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-25 05:02:53

我很久以前就知道了,但它恰好是我的路由器上的一个设置。我使用的是Airport极限,IPv6设置被设置为“自动”。我把它改为“只链接本地”,我所有的HTTP调用都开始正常工作,并且响应性很强。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45497883

复制
相关文章

相似问题

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