Come aumentare il timeout delle richieste in IIS 7.0? Lo stesso viene fatto nella scheda Applicazione nelle impostazioni di configurazione ASP in IIS 6.0. Non riesco a trovare la sezione di configurazione di asp.net in IIS 7.0
Come aumentare il timeout delle richieste in IIS 7.0? Lo stesso viene fatto nella scheda Applicazione nelle impostazioni di configurazione ASP in IIS 6.0. Non riesco a trovare la sezione di configurazione di asp.net in IIS 7.0
Risposte:
Aggiungi questo al tuo Web Config
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
https://msdn.microsoft.com/en-us/library/e1f13641(v=vs.85).aspx
Attributo TimeSpan opzionale.
Specifica il numero massimo di secondi che una richiesta può eseguire prima di essere automaticamente chiusa da ASP.NET.
Questo timeout si applica solo se l'attributo debug nell'elemento compilation è False. Per evitare di arrestare l'applicazione durante il debug, non impostare questo timeout su un valore elevato.
L'impostazione predefinita è "00:01:50" (110 secondi).
In Gestione IIS, fai clic con il pulsante destro del mouse sul sito e vai su Gestisci sito Web -> Impostazioni avanzate . Sotto l' opzione Limiti di connessione , dovresti visualizzare il timeout della connessione .
Per aumentare il timeout della richiesta, aggiungere questo a web.config
<system.web>
<httpRuntime executionTimeout="180" />
</system.web>
e per una pagina specifica aggiungere questo
<location path="somefile.aspx">
<system.web>
<httpRuntime executionTimeout="180"/>
</system.web>
</location>
L'impostazione predefinita è 90 secondi per .NET 1.x.
110 secondi predefiniti per .NET 2.0 e versioni successive.
In IIS> = 7, una <webLimits>
sezione ha sostituito ConnectionTimeout
, HeaderWaitTimeout
, MaxGlobalBandwidth
, e MinFileBytesPerSec
IIS 6 impostazioni di metabase.
Esempio di configurazione:
<configuration>
<system.applicationHost>
<webLimits connectionTimeout="00:01:00"
dynamicIdleThreshold="150"
headerWaitTimeout="00:00:30"
minBytesPerSecond="500"
/>
</system.applicationHost>
</configuration>
Per riferimento: ulteriori informazioni su queste impostazioni in IIS sono disponibili qui . Inoltre, non sono stato in grado di aggiungere questa sezione a web.config tramite l '"editor di configurazione" del gestore IIS, anche se è stato visualizzato una volta aggiunto e cercato nella configurazione.
ConnectionTimeout
, non httpRuntime executionTimeout
.
Di seguito sono riportati i passaggi per risolvere il problema.
So che la domanda riguardava ASP ma forse qualcuno troverà utile questa risposta.
Se si dispone di un server dietro IIS 7.5 (ad esempio Tomcat). Nel mio caso ho una server farm con il server Tomcat configurato. In tal caso è possibile modificare il timeout utilizzando Gestione IIS:
oppure puoi cambiarlo nel file cofig:
Esempio:
<webFarm name="${SERVER_NAME}" enabled="true">
<server address="${SERVER_ADDRESS}" enabled="true">
<applicationRequestRouting httpPort="${SERVER_PORT}" />
</server>
<applicationRequestRouting>
<protocol timeout="${TIME}" />
</applicationRequestRouting>
</webFarm>
Il $ {TIME} è in HH: ss mm formato (quindi se si desidera impostarla a 90 secondi poi messo lì 00:01:30)
Nel caso di Tomcat (e probabilmente di altri container servlet) devi ricordare di modificare il timeout in % TOMCAT_DIR% \ conf \ server.xml (cerca l' attributo connectionTimeout nel tag Connector e ricorda che è specificato in millisecondi )
Utilizzare il comando Power shell di seguito per modificare il timeout di esecuzione (Richiesta timeout)
Si prega di notare che ho dato questo per il sito Web predefinito, prima di utilizzare questi si prega di cambiare il sito e quindi provare a utilizzare questo.
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter "system.web/httpRuntime" -name "executionTimeout" -value "00:01:40"
In alternativa, è possibile utilizzare il codice C # di seguito per fare la stessa cosa
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();
}
}
}
In alternativa, puoi utilizzare JavaScript per farlo.
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();
In alternativa, è possibile utilizzare i comandi AppCmd.
appcmd.exe set config "Default Web Site" -section:system.web/httpRuntime /executionTimeout:"00:01:40"