我需要向我的API的一部分发出异步POST请求,查询大约需要30分钟。
当我尝试在本地运行时,它在Debug(调试)和Release(发布)上都可以正常工作,但是当我发布到托管提供商时,请求在2分钟后被中断,服务器响应500或502错误。
我已经尝试将以下行添加到我的web.config
文件中:
<system.webServer>
<aspNetCore requestTimeout="10:00:00">
<environmentVariables />
</aspNetCore>
</system.webServer>
<system.web>
<globalization uiCulture="fr-FR" culture="fr-FR" />
<httpRuntime executionTimeout="10000" />
</system.web>
还可以通过Program.cs
中的Kestrel选项修改请求超时:
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(o => { o.Limits.KeepAliveTimeout = TimeSpan.FromDays(1); });
不幸的是没有任何效果。我该怎么做才能不中断查询?