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卻一直沒有回傳。
介面計算時間短,則可以回傳,咋回事啊?
謝謝啊
uj5u.com熱心網友回復:
timeout?uj5u.com熱心網友回復:
已經設定了超時哦,超時設定為24小時。如果jar包介面計算時間超過10分鐘,jar包有輸出,但httpClient.PostAsJsonAsync()就沒有回傳了uj5u.com熱心網友回復:
幫忙看看咋回事啊,比較詭異。外部介面計算時間短可以,長則一直卡主在PostAsJsonAsync()
uj5u.com熱心網友回復:
插眼!等大佬回答學習學習uj5u.com熱心網友回復:
https://blog.csdn.net/u011191463/article/details/78664896?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecaseuj5u.com熱心網友回復:
這個是java的,c#好像只有TimeOut可以設定。uj5u.com熱心網友回復:
先用postman測驗一下介面是不是好的。介面沒有問題再判斷是否是自己程式的問題uj5u.com熱心網友回復:
jar包有輸出jar 包的輸出是什么
uj5u.com熱心網友回復:
你這做法很奇怪啊,web介面不適合做這種長時間才能回傳結果的呼叫吧。timeout對于webclient異步是沒有用的吧,你可以通過介面定時去訪問啊,有結果就顯示,沒結果就放棄,等下一次訪問,為什么要設這么個超長時間。uj5u.com熱心網友回復:
外部介面是公司內部的嗎?是的話,叫他們改成完成計算后主動調你介面推送資料,這么長時間誰等得起啊。還一點時間規律都沒有。uj5u.com熱心網友回復:
postman介面測驗是好的,就是jar包介面計算要20分鐘,超時設定為30分鐘,計算完了卡在httpClient.PostAsJsonAsync()了
uj5u.com熱心網友回復:
外部介面計算要20多分鐘,我設定了24小時確實長了,設定30分鐘即可,現在是:20分鐘計算完了卡在httpClient.PostAsJsonAsync()了。
這個是需要等那么長時間的,前端是需要等待的哦
uj5u.com熱心網友回復:
我發錯我啥也不會
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/36338.html
標籤:ASP.NET
上一篇:.net core MVC 如何批量修改和保存多行資料
下一篇:DW 用瀏覽器除錯asp網頁,總出現HTTP 錯誤 404.0 - Not Found 您要找的資源已被洗掉、已更名或暫時不可用
