ASP.NET 核心忽略大于 00:05:00 的 requestTimeout
ASP.NET Core ignores requestTimeout greater that 00:05:00
我有 ASP.NET 核心 REST 服务(IIS 10、没有托管代码的应用程序池、.NET Core Runtime 2.0.5)。
Web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<httpRuntime executionTimeout="100000" maxRequestLength="536870912" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="536870912" />
</requestFiltering>
</security>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore requestTimeout="00:45:00" forwardWindowsAuthToken="false" processPath="dotnet" arguments=".\app.dll" startupTimeLimit="3600" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
<environmentVariables />
</aspNetCore>
</system.webServer>
</configuration>
<!--ProjectGuid: 1a91d629-da53-4fc1-a236-5d116a3d9658-->
我希望超过 45 分钟的请求应该以 502 错误结束。
但是请求在 ~5 分钟(~300-310 秒)后以 502 完成。
我尝试将此设置更改为 00:03:00(3 分钟)。大约 3 分钟后,该请求完成并返回 502 状态代码。
看起来任何大于 00:05:00 的值都会被忽略。
问题是我哪里忘记看这个设置了?
好吧,是我的错。
首先我忘了用服务(在内网)测试来自计算机的请求。当我这样做时,我发现在这种情况下,服务可以正常工作而无需约 5 分钟超时。虽然我 运行 来自互联网的相同请求,但我仍然遇到这个问题
所以下一个嫌疑人是 Internet 和 Intranet 之间的代理。所以我改变了代理的超时时间,现在我有很好的-运行宁ASP.NET核心Web服务。
我有 ASP.NET 核心 REST 服务(IIS 10、没有托管代码的应用程序池、.NET Core Runtime 2.0.5)。
Web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<httpRuntime executionTimeout="100000" maxRequestLength="536870912" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="536870912" />
</requestFiltering>
</security>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore requestTimeout="00:45:00" forwardWindowsAuthToken="false" processPath="dotnet" arguments=".\app.dll" startupTimeLimit="3600" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
<environmentVariables />
</aspNetCore>
</system.webServer>
</configuration>
<!--ProjectGuid: 1a91d629-da53-4fc1-a236-5d116a3d9658-->
我希望超过 45 分钟的请求应该以 502 错误结束。
但是请求在 ~5 分钟(~300-310 秒)后以 502 完成。
我尝试将此设置更改为 00:03:00(3 分钟)。大约 3 分钟后,该请求完成并返回 502 状态代码。
看起来任何大于 00:05:00 的值都会被忽略。
问题是我哪里忘记看这个设置了?
好吧,是我的错。
首先我忘了用服务(在内网)测试来自计算机的请求。当我这样做时,我发现在这种情况下,服务可以正常工作而无需约 5 分钟超时。虽然我 运行 来自互联网的相同请求,但我仍然遇到这个问题
所以下一个嫌疑人是 Internet 和 Intranet 之间的代理。所以我改变了代理的超时时间,现在我有很好的-运行宁ASP.NET核心Web服务。