179 votes

Comment augmenter le délai d'attente des requêtes dans IIS7.0 ?

Comment augmenter le délai d'attente des requêtes dans IIS 7.0 ? La même chose se fait sous l'onglet application dans les paramètres de configuration ASP dans IIS 6.0. Je ne trouve pas la section de configuration asp.net dans IIS 7.0.

J'apprécie votre aide.

11voto

Paweł Grześ Points 79

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

Si vous avez un serveur derrière IIS 7.5 (par exemple Tomcat). Dans mon cas, j'ai une ferme de serveurs avec un serveur Tomcat configuré. Dans ce cas, vous pouvez modifier le délai d'attente en utilisant le gestionnaire IIS :

  • aller à Fermes de serveurs -> {Nom du serveur} -> Proxy
  • modifier la valeur dans le Temps mort boîte de dialogue
  • cliquez sur Appliquer (coin supérieur droit)

ou vous pouvez le modifier dans le fichier cofig :

  • ouvrir %WinDir \System32\Inetsrv\Config\applicationHost.config
  • ajuster le serveur webFarm pour être similaire à ce qui suit

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 site ${TIME} est en HH:mm:ss format (ainsi, si vous voulez le régler sur 90 secondes, mettez 00:01:30)

Dans le cas de Tomcat (et probablement d'autres conteneurs de servlets), vous devez vous rappeler de modifier le délai d'attente dans le fichier %TOMCAT_DIR% \conf\server.xml (il suffit de chercher délai de connexion l'attribut dans Connecteur et rappelez-vous qu'elle est spécifiée dans millisecondes )

2 votes

Veuillez noter que vous ne devez publier que des réponses ayant un rapport direct avec la question posée. Comme cette question porte uniquement sur IIS, une réponse contenant des informations sur Tomcat n'est pas vraiment pertinente.

10 votes

Dans ce cas, je pense que la réponse est pertinente car le cas d'utilisation spécifié ici (utilisation de IIS Application Request Routing pour acheminer les données vers un autre serveur) concerne IIS. Le paramètre ici est également configurable dans IIS Manager. Pour information, cette réponse m'a aidé à déterminer le délai de requête que je dois modifier. (Puisqu'il y a beaucoup de paramètres de délai dans IIS Manager).

4voto

Suraj Dixit Points 31

Utilisez la commande Power shell ci-dessous pour modifier le délai d'exécution (Request Timeout)

Veuillez noter que j'ai donné ceci pour le site web par défaut, avant d'utiliser ceci, veuillez changer le site et ensuite essayer d'utiliser ceci. avant de les utiliser, changez de site et essayez ensuite d'utiliser ceci.

 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 bien, vous pouvez utiliser le JavaScript pour le faire.

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();

Ou, vous pouvez utiliser les commandes AppCmd.

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

3voto

Greg Gum Points 1441

Pour AspNetCore, cela ressemble à ceci :

<aspNetCore requestTimeout="00:20:00">

D'ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X