你能用C#代码在IIS中托管的asp.net core 2.0中设置请求超时吗?

Sam*_*ach 6 iis .net-core asp.net-core asp.net-core-webapi asp.net-core-2.0

有没有一种方法来设置requestTimeout从C#,而不是需要来设置requestTimeoutweb.config

asp.net托管在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>
Run Code Online (Sandbox Code Playgroud)

不是这样的

Dmi*_*lov 7

不,如你所描述的,没有办法做到这一点.但根据文档, 您只需将web.config添加到项目中并指定此(和其他)设置值:

如果web.config文件不存在的项目,该文件是用正确的processPath和参数配置ASP.NET核心模块创建和移动公布的输出.

如果web.config文件是存在于该项目,该文件被转化了正确processPath和参数配置ASP.NET Core Module和移动公布的输出.转换不会修改文件中的IIS配置设置.

web.config文件可能提供IIS控制活动IIS模块的其他配置设置.有关IIS能够使用ASP.NET Core应用程序处理请求的IIS 模块的信息,请参阅模块主题.

要阻止Web SDK转换web.config文件,请使用IsTransformWebConfigDisabled项目文件中的 属性.