記一次.netcore 3.1 本地正常,服務器 502 bad gateway(響應時長超過2分鍾)


  有一個項目,在后台通過httpclient調用其他服務接口,該服務中會進行較復雜的計算,計算時長超過2分鍾;在本地調試的時候,一切OK,但是部署到服務器,掛在IIS上后,
只要一調用該接口,計算完之后直接502錯誤(后台中添加日志檢測邏輯是計算完成的:偶爾會出現計算未完成的情況),然后瘋狂在網上看看有沒有解決方案:
1、HttpClient _client = new HttpClient() 使用 using語法 或使用全局靜態
2、_client.PostAsync(requestAddress, byteContent).Result 改為 await _client.PostAsync(requestAddress, byteContent)
3、_client.Timeout = TimeSpan.FromMinutes(30);
4、Program中配置超時時長:

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>().UseKestrel(option =>
{
option.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(30);
option.Limits.RequestHeadersTimeout = TimeSpan.FromMinutes(30);
}).UseUrls("http://*:8804");
});

5、修改IIS並發進程數,1改為8
等等以上都沒有效果,查看系統日志等等,也沒有記錄;看服務器的性能參數、線程等,也沒有存在調用時飆升的情況。。。。。啊啊,哪位大佬碰到過麻煩指導一下;

實在沒轍,因為是.netcore 代碼嘛,可以不依賴與IIS,我直接運行exe啟動,結果,可以了!!!蛋碎了一地,難道是IIS的問題???留待大佬解惑~
好在,問題暫時得到解決了,記錄一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM