我正在使用 .net core API 從其他服務檢索數據并將數據傳遞給 Angular 應用程序。在等待一段時間后,我在長時間運行的任務中遇到來自 API 的 500 異常。我想等待我的 .net core API 很長時間才能從其他服務獲取數據。我在 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);});但仍然沒有任何變化。我還按照此處的文章嘗試通過實現 IHostedService 來使用后臺服務。但仍然面臨這個問題。我將不勝感激有人幫助我如何處理這個問題。
1 回答

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