我有一个 .NET Core 3.1 Web API,我想控制它在返回 504 超时错误之前等待多长时间。
我在
Program.cs
中添加了以下代码:
public static void Main(string[] args) => CreateHostBuilder(args).Build().Run();
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.UseKestrel(opt => { opt.Limits.KeepAliveTimeout = TimeSpan.FromSeconds(10); });
});
有了这个,我希望任何处理时间超过 10 秒的请求都会返回 504 错误。
为了测试,我在我的一个控制器中添加了一个
Thread.Sleep(100000)
作为第一行。
当我通过 Postman 调用端点时,它会等待整整 100 秒并返回 200。
为什么 10 秒后不报错?