Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can you set request timeout in asp.net core 2.0 hosted in IIS from C# code?

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

like image 539
Sam Leach Avatar asked May 07 '18 09:05

Sam Leach


People also ask

What is the default timeout for .NET core Web API?

The default value is 100,000 milliseconds (100 seconds). To set an infinite timeout, set the property value to InfiniteTimeSpan.


1 Answers

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.config file 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.config file is present in the project, the file is transformed with the correct processPath and arguments to configure the ASP.NET Core Module and moved to published output. The transformation doesn't modify IIS configuration settings in the file.

The web.config file may provide additional IIS configuration settings that control active IIS modules. For information on IIS modules that are capable of processing requests with ASP.NET Core apps, see the IIS modules topic.

To prevent the Web SDK from transforming the web.config file, use the IsTransformWebConfigDisabled property in the project file.

like image 131
Dmitry Pavlov Avatar answered Sep 28 '22 19:09

Dmitry Pavlov