默认情况下,ASP.NET Core的请求超时时间为2分钟,您可以通过设置文件中的requestTimeout更改它。在此处查看更多信息。
requestTimeout 可选的TimeSpan属性。
指定 ASP.NET Core 模块将等待 %ASPNETCORE_PORT% 上的进程响应的持续时间。
默认值为 "00:02:00"。
requestTimeout 必须仅以整数分钟指定,否则默认为2分钟。
当数据量巨大并且执行网页需要更长时间时,我会遇到相同的错误,我已经在web.config中更改了 .netcore 的超时值。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule"
resourceType="Unspecified"/>
</handlers>
<aspNetCore requestTimeout="00:20:00" processPath="%LAUNCHER_PATH%"
arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false"
stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>
我在现有的 web.config 文件中添加了 requestTimeout="00:20:00"
,并且它能够正常工作。
如需参考,请访问此 链接
executionTimeout
和sessionState
增加到非常高的数字,我似乎也无法解决它。 - Si8
IHostedService
。在任何情况下,你的操作应该安排任务,然后立即返回。然后,你可以使用SignalR监视状态,并在任务完成时更新用户。 - Chris Pratt