问题
Is there a way to set requestTimeout from C# instead of needing to set requestTimeout in the web.config?
asp.net core 2.0 hosted in IIS
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore requestTimeout="00:00:04" processPath="dotnet" arguments=".\Foo.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</configuration>
Not like this
回答1:
No, there is no way to do that as you described. But according to the documentation you can just add web.config to your project and specify this (and other) setting value:
If a
web.configfile isn't present in the project, the file is created with the correct processPath and arguments to configure the ASP.NET Core Module and moved to published output.If a
web.configfile is present in the project, the file is transformed with the correct processPath and arguments to configure theASP.NET Core Module and moved to published output. The transformation doesn't modify IIS configuration settings in the file.The
web.configfile may provide additionalIISconfiguration settings that control activeIISmodules. For information onIISmodules that are capable of processing requests withASP.NET Coreapps, see theIISmodules topic.To prevent the Web SDK from transforming the web.config file, use the
IsTransformWebConfigDisabledproperty in the project file.
来源:https://stackoverflow.com/questions/50210876/can-you-set-request-timeout-in-asp-net-core-2-0-hosted-in-iis-from-c-sharp-code