webapi HttpClient向外部接口发POST请求,接口计算时间短可返回,计算长一直没有返回,但接口输出了

rxk0215 2020-05-19 08:09:41
using (var httpClient = new HttpClient())
{
httpClient.Timeout = new TimeSpan(24, 0, 0);//设置超时

var url = new Uri("http://localhost:18081/model/cal");

var response = httpClient.PostAsJsonAsync(url, InputModel).Result;//jar包接口如果计算时间长,就没有返回,卡在这???
var data = response.Content.ReadAsStringAsync().Result;
}
========
var response = httpClient.PostAsJsonAsync(url, dispatchInput).Result
向外部接口发POST请求,接口计算时间短可返回,计算长一直没有返回。同步、异步都一样
外部接口是jar包,计算完了确实控制台确实有输出,但是httpClient.PostAsJsonAsync(url, dispatchInput).Result却一直没有返回。
接口计算时间短,则可以返回,咋回事啊?
谢谢啊
...全文
688 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
尘客-追梦 2020-05-25
  • 打赏
  • 举报
回复
我发错我啥也不会
rxk0215 2020-05-24
  • 打赏
  • 举报
回复
引用 11 楼 ying1234 的回复:
你这做法很奇怪啊,web接口不适合做这种长时间才能返回结果的调用吧。timeout对于webclient异步是没有用的吧,你可以通过接口定时去访问啊,有结果就显示,没结果就放弃,等下一次访问,为什么要设这么个超长时间。
外部接口计算要20多分钟,我设置了24小时确实长了,设置30分钟即可,现在是:20分钟计算完了卡在httpClient.PostAsJsonAsync()了。 这个是需要等那么长时间的,前端是需要等待的哦
rxk0215 2020-05-24
  • 打赏
  • 举报
回复
引用 8 楼 aquayhy 的回复:
先用postman测试一下接口是不是好的。接口没有问题再判断是否是自己程序的问题
postman接口测试是好的,就是jar包接口计算要20分钟,超时设置为30分钟,计算完了卡在httpClient.PostAsJsonAsync()了
ying1234 2020-05-22
  • 打赏
  • 举报
回复
外部接口是公司内部的吗?是的话,叫他们改成完成计算后主动调你接口推送数据,这么长时间谁等得起啊。还一点时间规律都没有。
ying1234 2020-05-22
  • 打赏
  • 举报
回复
你这做法很奇怪啊,web接口不适合做这种长时间才能返回结果的调用吧。timeout对于webclient异步是没有用的吧,你可以通过接口定时去访问啊,有结果就显示,没结果就放弃,等下一次访问,为什么要设这么个超长时间。
正怒月神 版主 2020-05-21
  • 打赏
  • 举报
回复
jar包有输出 jar 包的输出是什么
aquayhy 2020-05-21
  • 打赏
  • 举报
回复
先用postman测试一下接口是不是好的。接口没有问题再判断是否是自己程序的问题
泉低调前行 2020-05-20
  • 打赏
  • 举报
回复
插眼!等大佬回答学习学习
rxk0215 2020-05-20
  • 打赏
  • 举报
回复
帮忙看看咋回事啊,比较诡异。 外部接口计算时间短可以,长则一直卡主在PostAsJsonAsync()
rxk0215 2020-05-19
  • 打赏
  • 举报
回复
引用 1 楼 笑看旋律 的回复:
timeout?
已经设置了超时哦,超时设置为24小时。如果jar包接口计算时间超过10分钟,jar包有输出,但httpClient.PostAsJsonAsync()就没有返回了
极客诗人 2020-05-19
  • 打赏
  • 举报
回复
timeout?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧