web-dev-qa-db-fra.com

Comment augmenter le délai de requête dans IIS?

Comment augmenter le délai de requête dans IIS 7.0? La même chose est faite sous l'onglet application dans ASP paramètres de configuration dans IIS 6.0. Je ne parviens pas à trouver la section de configuration asp.net dans IIS 7.0

138
Dotnet Rocks

Ajoutez ceci à votre configuration Web

<system.web>
    <httpRuntime executionTimeout="180" />
</system.web>

https://msdn.Microsoft.com/en-us/library/e1f13641 (v = vs.85) .aspx

Attribut TimeSpan facultatif.

Spécifie le nombre maximal de secondes qu'une demande est autorisée à exécuter avant d'être automatiquement arrêtée par ASP.NET.

Ce délai ne s'applique que si l'attribut de débogage dans l'élément de compilation est False. Pour éviter d’arrêter l’application pendant le débogage, ne définissez pas ce délai d’attente sur une valeur élevée.

La valeur par défaut est "00:01:50" (110 secondes).

174
Jeff Doolittle

Dans IIS Manager, cliquez avec le bouton droit de la souris sur le site et sélectionnez Gestion du WebSite -> Paramètres avancés. Sous l'option Limites de connexion, vous devriez voir Délai de connexion.

67
Greg Shackles

Pour augmenter le délai de requête, ajoutez ceci à web.config

<system.web>
    <httpRuntime executionTimeout="180" />
</system.web>

et pour une page spécifique, ajoutez ceci

<location path="somefile.aspx">
    <system.web>
        <httpRuntime executionTimeout="180"/>
    </system.web>
</location>

La valeur par défaut est 90 secondes pour .NET 1.x.

La valeur par défaut de 110 secondes pour .NET 2.0 et versions ultérieures.

37
Rae Lee

Dans IIS> = 7, une section <webLimits> a remplacé ConnectionTimeout, HeaderWaitTimeout, MaxGlobalBandwidth et MinFileBytesPerSec IIS 6 paramètres de métabase.

Exemple de configuration:

<configuration>
   <system.applicationHost>
      <webLimits connectionTimeout="00:01:00"
         dynamicIdleThreshold="150"
         headerWaitTimeout="00:00:30"
         minBytesPerSecond="500"
      />
   </system.applicationHost>
</configuration>

Pour référence: plus d'informations concernant ces paramètres dans IIS peut être trouvé ici . De plus, je n'ai pas pu ajouter cette section au "web.config" via "l'éditeur de configuration" du gestionnaire IIS, bien qu'il soit apparu une fois que je l'ai ajoutée et que j'ai effectué une recherche dans la configuration.

28
AndrewPK

Je sais que la question portait sur ASP, mais peut-être que quelqu'un trouvera cette réponse utile.

Si vous avez un serveur derrière le IIS 7.5 (Tomcat, par exemple). Dans mon cas, j'ai une batterie de serveurs avec un serveur Tomcat configuré. Dans ce cas, vous pouvez modifier le délai d'attente à l'aide du IIS Manager:

  • allez à batteries de serveurs -> {Nom du serveur} -> proxy
  • changer la valeur dans la zone de saisie Time-out
  • cliquez Appliquer (coin supérieur droit)

ou vous pouvez le changer dans le fichier cofig:

  • open % WinDir%\System32\Inetsrv\Config\applicationHost.config
  • ajustez la configuration du serveur webFarm à la suivante

Exemple:

<webFarm name="${SERVER_NAME}" enabled="true"> 
  <server address="${SERVER_ADDRESS}" enabled="true">
    <applicationRequestRouting httpPort="${SERVER_PORT}" />
  </server>
  <applicationRequestRouting>
    <protocol timeout="${TIME}" />
  </applicationRequestRouting>
</webFarm>

Le $ {TIME} est au format HH: mm: ss (donc si vous voulez le régler à 90 secondes, mettez-le ici 00:01:30)

Dans le cas de Tomcat (et probablement d’autres conteneurs de servlets), vous devez vous rappeler de modifier le délai % Tomcat_DIR%\conf\server.xml (Il suffit de chercher connectionTimeout attribut dans Connector tag, et rappelez-vous qu'il est spécifié dans millisecondes)

10
Paweł Grześ

Vous trouverez ci-dessous les étapes à suivre pour résoudre votre problème.

  1. Ouvrez votre IIS
  2. Allez sur l'option " Sites ".
  3. Clic droit de la souris.
  4. Ensuite, ouvrez la propriété " Gérer le site Web ".
  5. Cliquez ensuite sur " Paramètres avancés ".
  6. Développez la section " Limites de connexion ", vous pouvez définir ici le délai de connexion " "

enter image description here

9
Anjan Kant

tilisez la commande Power Shell ci-dessous pour modifier le délai d’exécution (Request Timeout)

S'il vous plaît noter que j'ai donné cela pour le site Web par défaut, avant d'utiliser ceux-ci s'il vous plaît changer le site et essayez de l'utiliser.

 Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site'  -filter "system.web/httpRuntime" -name "executionTimeout" -value "00:01:40"

Ou, vous pouvez utiliser le code C # ci-dessous pour faire la même chose

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample {

    private static void Main() {

        using(ServerManager serverManager = new ServerManager()) { 
            Configuration config = serverManager.GetWebConfiguration("Default Web Site");

            ConfigurationSection httpRuntimeSection = config.GetSection("system.web/httpRuntime");
            httpRuntimeSection["executionTimeout"] = TimeSpan.Parse("00:01:40");

            serverManager.CommitChanges();
        }
    }
}

Ou, vous pouvez utiliser JavaScript pour faire cela.

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Default Web Site";

var httpRuntimeSection = adminManager.GetAdminSection("system.web/httpRuntime", "MACHINE/WEBROOT/APPHOST/Default Web Site");
httpRuntimeSection.Properties.Item("executionTimeout").Value = "00:01:40";

adminManager.CommitChanges();

Vous pouvez également utiliser les commandes AppCmd.

appcmd.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40" 
3
Suraj Dixit