我正在使用 .net core API 從其他服務(wù)檢索數(shù)據(jù)并將數(shù)據(jù)傳遞給 Angular 應(yīng)用程序。在等待一段時間后,我在長時間運行的任務(wù)中遇到來自 API 的 500 異常。我想等待我的 .net core API 很長時間才能從其他服務(wù)獲取數(shù)據(jù)。我在 Program 類中添加了保持活動超時,如下所示。 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConsole();
})
.UseStartup<Startup>()
.UseKestrel(o => { o.Limits.KeepAliveTimeout = TimeSpan.FromMinutes(30);});但仍然沒有任何變化。我還按照此處的文章嘗試通過實現(xiàn) IHostedService 來使用后臺服務(wù)。但仍然面臨這個問題。我將不勝感激有人幫助我如何處理這個問題。
1 回答

慕妹3146593
TA貢獻1820條經(jīng)驗 獲得超9個贊
您KeepAliveTimeout
從服務(wù)器上的代碼設(shè)置的是處理傳入請求的超時。該設(shè)置對超時的?傳出請求沒有幫助。
如果您使用 調(diào)用外部服務(wù)HttpClient
,請查看設(shè)置其HttpClient.Timeout屬性
獲取或設(shè)置請求超時之前等待的時間跨度。
和
默認值為 100,000 毫秒(100 秒)。
有點偏離主題
感覺這可能不是從外部服務(wù)獲取信息的最佳結(jié)構(gòu)。就我而言,API 應(yīng)該是快速且輕便的。
如果外部服務(wù)的數(shù)據(jù)不太不穩(wěn)定,您可以考慮其他從外部服務(wù)獲取信息的方法,例如運行 cron job/webjob/azure 函數(shù)并將結(jié)果存儲在某種形式的緩存或存儲中。
- 1 回答
- 0 關(guān)注
- 125 瀏覽
添加回答
舉報
0/150
提交
取消