2010-03-10 3 views

Répondre

60

Dans le Gestionnaire des services Internet, cliquez avec le bouton droit sur le site et accédez à Gérer le site Web -> Paramètres avancés. Dans là, sous Limites de connexion, vous devriez voir Délai de connexion.

+3

Est-ce la même chose que le délai d'attente de demande. J'essaye de migrer des données d'un document de xml et du délai d'attente de reuqest. Donc, si j'augmente le délai de connexion, cela sera résolu. –

+7

Je ne pense pas que ce soit correct, si 'HTTP Keep-Alive' est activé, alors ce paramètre de timing s'applique, signifiant combien de temps la connexion restera active, je ne pense pas que cela soit lié à 'request timeout' attend l'exécution d'une page) .. – visual

+0

Je pense que c'est la bonne réponse dans certaines situations, comme le téléchargement d'un gros fichier. En attendant de télécharger, le –

125

Ajouter à votre Web Config

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

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

attribut en option TimeSpan.

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

Ce délai d'expiration s'applique uniquement si l'attribut de débogage de 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 à une valeur élevée.

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

+6

Peut-il être défini à partir de l'interface graphique du gestionnaire IIS 7? – Triynko

+3

Cela a fonctionné pour IIS6 ainsi – banging

+10

Le délai d'attente est spécifié en secondes, la valeur par défaut est de 110 secondes.Remarque: Ce délai d'attente s'applique uniquement si l'attribut de débogage de l'élément est défini sur false! – Jowen

21

Dans IIS> = 7, une section <webLimits> a remplacé ConnectionTimeout, HeaderWaitTimeout, MaxGlobalBandwidth et MinFileBytesPerSec IIS 6 paramètres de la 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 sur ces paramètres dans IIS can be found here. 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é et ai recherché la configuration.

+2

Ceci remplace 'ConnectionTimeout', pas' executionTimeout' de httpRuntime. – user2864740

10

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 IIS 7.5 (par exemple Tomcat). Dans mon cas, j'ai une batterie de serveurs avec le serveur Tomcat configuré. Dans ce cas, vous pouvez modifier le délai d'attente à l'aide du Gestionnaire des services Internet:

  • aller à Farms serveur -> {Nom du serveur} ->Proxy
  • changement de la valeur dans le Time- out zone de saisie
  • cliquez sur Appliquer (coin supérieur droit)

ou vous pouvez le modifier dans le fichier cofig:

  • ouvert % windir% \ System32 \ Inetsrv \ Config \ applicationHost.config
  • ajuster le serveur Webfarm configuration être semblable au suivant

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 en HH: mm: ss Format (donc si vous voulez le régler à 90 secondes, mettez-le 00:01:30)

En cas de Tomcat (et probablement d'autres conteneurs de servlets) vous devez vous rappeler de changer le délai d'attente dans le % TOMCAT_DIR% \ conf \ server.xml (recherche juste pour connectionTimeout attribut dans balise connecteur, et rappelez-vous qu'il est spécifié dans millisecondes)

+2

Veuillez noter que vous ne devriez publier que des réponses directement liées à la question posée. Puisque cette question est purement sur IIS, une réponse avec des informations sur Tomcat n'est vraiment pas pertinente. –

+8

Dans ce cas, je pense que la réponse est pertinente car le cas d'utilisation spécifié ici (à l'aide de IIS Application Request Routing pour acheminer vers un autre serveur) concerne IIS. Le paramètre ici est également configurable dans le Gestionnaire des services Internet. FWIW, cette réponse m'a aidé à dépanner le délai d'attente de la requête que je devrais changer. (Comme il y a beaucoup de paramètres de délai d'expiration dans le Gestionnaire des services Internet (IIS)) –

22

pour augmenter le temps de demande à ajouter à web.config

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

et pour une page spécifique ajouter cette

<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.

+1

Vous avez gagné le +1 avec les informations sur l'emplacement –

3

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

S'il vous plaît noter que j'ai donné ce pour le site Web par défaut, avant d'utiliser ces s'il vous plaît changer le site, puis essayer pour 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 ci-dessous C# 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 le JavaScript pour ce 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" 
Questions connexes