web-dev-qa-db-fra.com

Pouvez-vous définir le délai d'expiration de la demande dans asp.net core 2.0 hébergé dans IIS à partir du code C #?

Existe-t-il un moyen de définir requestTimeout à partir de C # au lieu de devoir définir requestTimeout dans le web.config?

asp.net core 2.0 hébergé dans 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>

Pas comme ça

7
Sam Leach

Non, il n'y a aucun moyen de le faire comme vous l'avez décrit. Mais selon la documentation vous pouvez simplement ajouter web.config à votre projet et spécifier cette valeur de réglage (et d'autres):

Si un web.config le fichier n'est pas présent dans le projet, le fichier est créé avec le bon processPath et les arguments pour configurer le module ASP.NET Core et déplacé vers sortie publiée.

Si un web.config le fichier est présent dans le projet, le fichier est transformé avec le chemin de processus et les arguments corrects pour configurer le ASP.NET Core Module et déplacé vers la sortie publiée. La transformation ne modifie pas IIS paramètres de configuration dans le fichier .

Le web.config le fichier peut fournir des paramètres de configuration IIS supplémentaires qui contrôlent les modules IIS actifs. Pour plus d'informations sur les modules IIS capables de traiter les demandes avec ASP.NET Core apps, consultez la rubrique relative aux modules IIS.

Pour empêcher le SDK Web de transformer le fichier web.config, utilisez la propriété IsTransformWebConfigDisabled dans le fichier de projet.

7
Dmitry Pavlov