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

时间:2018-05-07 09:23:55

标签: iis asp.net-core .net-core asp.net-core-2.0 asp.net-core-webapi

有没有办法从C#设置requestTimeout,而无需在requestTimeout中设置web.config

IIS中托管的asp.net核心2.0

<?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 个答案:

答案 0 :(得分:7)

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

  

如果项目中的web.config文件不存在,则会创建该文件   使用正确的processPath和参数来配置ASP.NET   核心模块并移至已发布的输出。

     

如果项目中存在web.config文件 ,则该文件为   使用正确的processPath和参数进行转换以进行配置   ASP.NET Core Modul e并移至已发布的输出。的的   转换不会修改文件中的IIS配置设置

     

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

     

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