Elemento httpRuntime (schema delle impostazioni ASP.NET)

Aggiornamento: novembre 2007

Configura le impostazioni di runtime HTTP di ASP.NET che determinano le modalità di elaborazione di una richiesta per un'applicazione ASP.NET.

Elemento configuration (schema delle impostazioni generali)
  Elemento system.web (schema delle impostazioni ASP.NET)
    Elemento httpRuntime (schema delle impostazioni ASP.NET)

<httpRuntime
      executionTimeout = "number" 
   maxRequestLength = "number" 
   requestLengthDiskThreshold = "number" 
   useFullyQualifiedRedirectUrl = "[True|False]" 
   minFreeThreads = "number" 
   minLocalRequestFreeThreads = "number" 
   appRequestQueueLimit = "number"
   enableKernelOutputCache = "[True|False]" 
   enableVersionHeader = "[True|False]" 
   apartmentThreading = "[True|False]"
   requireRootedSaveAsPath = "[True|False]"
   enable = "[True|False]" 
   sendCacheControlHeader = "[True|False]" 
      shutdownTimeout = "number"
   delayNotificationTimeout = "number"
   waitChangeNotification = "number" 
   maxWaitChangeNotification = "number" 
   enableHeaderChecking = "[True|False]" 
/>

Attributi ed elementi

Nelle sezioni riportate di seguito vengono illustrati attributi, elementi figlio ed elementi padre.

Attributi

Attributo

Descrizione

apartmentThreading

Attributo Boolean facoltativo.

Attiva il threading apartment per la compatibilità con ASP classico.

Questo attributo è nuovo in .NET Framework versione 2.0. Il valore predefinito è False.

appRequestQueueLimit

Attributo Int32 facoltativo.

Specifica il numero massimo di richieste che verranno messe in coda per l'applicazione. Quando il numero di thread disponibili non è sufficiente a elaborare una richiesta, le richieste verranno inserite in una coda. Quando la coda supera il limite specificato in questo attributo, le richieste in arrivo verranno rifiutate con un errore "503 - Server occupato".

Il valore predefinito è 5000.

Nota

In .NET Framework versioni 1.0 e 1.1 il valore predefinito è 100.

delayNotificationTimeout

Attributo TimeSpan facoltativo.

Specifica il timeout in secondi per le notifiche di ritardo.

Questo attributo è nuovo in .NET Framework versione 2.0.

Il valore predefinito è 5 secondi.

Enable

Attributo Boolean facoltativo.

Specifica se il dominio dell'applicazione (AppDomain) è abilitato per accettare richieste in arrivo a livello di nodo corrente e di nodo figlio. Se impostato su False, l'applicazione è disattivata.

Il valore predefinito è True.

enableHeaderChecking

Attributo Boolean facoltativo.

Specifica se è necessario cercare potenziali attacchi di inserimento nell'intestazione di richiesta mediante ASP.NET. Se viene rilevato un attacco, ASP.NET genera un errore.

Questo attributo è nuovo in .NET Framework 2.0.

Il valore predefinito è True.

enableKernelOutputCache

Attributo Boolean facoltativo.

Specifica se la memorizzazione nella cache di output è abilitato. Questo attributo è rilevante solo quando è installato Microsoft Internet Information Services (IIS) 6.0 o versione successiva. La configurazione della memorizzazione nella cache di output e il tipo di richiesta determina se è possibile inserire contenuto nella cache.

Per memorizzare nella cache una risposta, è necessario che siano soddisfatti i seguenti criteri:

  • La memorizzazione nella cache deve essere esplicitamente abilitata da una direttiva di pagina o dall'uso dell'API relativa.

  • La memorizzazione nella cache deve presentare un criterio di scadenza in base al quale il kernel possa eliminare la risposta.

  • La memorizzazione nella cache non presenta parametri o intestazioni variabili.

  • L'autenticazione è facoltativa.

Il valore predefinito è True.

enableVersionHeader

Attributo Boolean facoltativo.

Specifica se è necessario generare un'intestazione di versione mediante ASP.NET. Questo attributo viene utilizzato in Microsoft Visual Studio 2005 per determinare la versione di ASP.NET in uso. Non è necessario per i siti di produzione e può essere disattivato.

Nota

Questo attributo non è disponibile in .NET Framework 1.0.

Il valore predefinito è True.

executionTimeout

Attributo TimeSpan facoltativo.

Specifica il numero massimo di secondi in cui è consentita l'esecuzione di una richiesta prima che venga interrotta automaticamente.

Tale timeout è valido solo se l'attributo debug nell'elemento compilation è False. Se l'attributo debug è True, per impedire l'interruzione dell'applicazione durante il debug, non impostare un valore elevato per il timeout.

Il valore predefinito è 110 secondi.

Nota

In .NET Framework 1.0 e 1.1 il valore predefinito è 90 secondi.

maxRequestLength

Attributo Int32 facoltativo.

Specifica il limite di soglia di memorizzazione nel buffer del flusso di input espresso in KB. Tale limite consente di impedire attacchi denial of service provocati, ad esempio, dall'immissione di file di grandi dimensioni per il server da parte degli utenti.

Il valore predefinito è 4096 KB. Se la soglia viene superata, viene generata un'eccezione ConfigurationErrorsException.

maxWaitChangeNotification

Attributo Int32 facoltativo.

Specifica il numero massimo di secondi di attesa dalla prima notifica della modifica dei file prima di riavviare il dominio di applicazione per una nuova richiesta. Impostare l'attributo su un numero superiore al periodo di tempo necessario per completare i processi di copia dei file. Le notifiche della modifica dei file vengono combinate in base al valore di questo attributo e dell'attributo waitChangeNotification.

Questo attributo è nuovo in .NET Framework 2.0.

Il valore predefinito è 0.

minFreeThreads

Attributo Int32 facoltativo.

Specifica il numero minimo di thread liberi per consentire l'esecuzione di nuove richieste. In ASP.NET questi thread vengono resi disponibili per le richieste la cui elaborazione rende necessario l'utilizzo di thread aggiuntivi.

Il valore predefinito è 8.

minLocalRequestFreeThreads

Attributo Int32 facoltativo.

Specifica il numero minimo di thread disponibili in ASP.NET per l'esecuzione di nuove richieste locali. Il numero specificato viene tenuto riservato per le richieste provenienti dall'host locale, nel caso in cui alcune richieste emettano richieste figlio sull'host locale durante l'elaborazione. Così facendo si impedisce un possibile deadlock con rientro ricorsivo nel server Web.

Il valore predefinito è 4.

requestLengthDiskThreshold

Attributo Int32 facoltativo.

Specifica il limite di soglia di memorizzazione nel buffer del flusso di input espresso in kilobyte. Il valore non deve superare quello dell'attributo maxRequestLength.

Questo attributo è nuovo in .NET Framework 2.0.

Il valore predefinito è 80 KB.

requireRootedSaveAsPath

Attributo Boolean facoltativo.

Specifica se il parametro filename in un metodo SaveAs debba essere un percorso assoluto. Il processo ASP.NET deve disporre dell'autorizzazione per creare i file nel percorso specificato.

Questo attributo è nuovo in .NET Framework 2.0.

Il valore predefinito è True.

sendCacheControlHeader

Attributo Boolean facoltativo.

Specifica se inviare un'intestazione di controllo cache. Per impostazione predefinita, è impostato su Private. Se impostato su True, la cache lato client è disattivata.

Questo attributo è nuovo in .NET Framework 2.0.

Il valore predefinito è True.

shutdownTimeout

Attributo TimeSpan facoltativo.

Specifica il numero di minuti consentito perché il processo di lavoro si arresti da solo. Alla scadenza del timeout, il processo di lavoro viene interrotto.

Questo attributo è nuovo in .NET Framework 2.0.

Il valore predefinito è 90 secondi.

useFullyQualifiedRedirectUrl

Attributo Boolean facoltativo.

Specifica se i reindirizzamenti del lato client sono completi, nel formato "https://server/path", necessario per alcuni controlli mobili, o se, invece, al client vengono inviati reindirizzamenti relativi. Se impostato su True, tutti i reindirizzamenti non completi vengono automaticamente convertiti nel formato completo.

Nota

Se l'attributo è impostato su False, alcuni browser potrebbero incontrare problemi nel caricamento di pagine che si trovano in sessioni senza cookie.

Il valore predefinito è False.

waitChangeNotification

Attributo Int32 facoltativo.

Specifica i secondi di attesa di un'altra notifica di modifica dei file prima del riavvio di AppDomain. Impostare l'attributo su un numero superiore al tempo che intercorre tra gli aggiornamenti di due notifiche di modifica delle copie dei file. Le notifiche della modifica dei file vengono combinate in base al valore di questo attributo e dell'attributo maxWaitChangeNotification .

Questo attributo è nuovo in .NET Framework 2.0.

Il valore predefinito è 0 secondi.

Elementi figlio

Nessuno.

Elementi padre

Elemento

Descrizione

configuration

È l'elemento di primo livello necessario in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework.

system.web

Specifica l'elemento di primo livello per le impostazioni di configurazione ASP.NET in un file di configurazione e contiene gli elementi che consentono di configurare le applicazioni Web ASP.NET e di controllarne il comportamento.

Note

L'elemento httpRuntime configura le impostazioni di runtime HTTP ASP.NET che determinano le modalità di elaborazione di una richiesta di applicazione ASP.NET. In .NET Framework sono disponibili diversi host di runtime, tra cui l'host di runtime ASP.NET. Quando perviene una richiesta, ASP.NET carica l'impostazione di runtime nel processo di gestione della richiesta. ASP.NET crea anche un dominio applicazione per ciascuna applicazione Web che verrà eseguita su un server Web.

Configurazione predefinita

L'elemento httpRuntime non viene definito in modo esplicito nel file Machine.config o nel file Web.config principale. Tuttavia, le impostazioni seguenti sono i valori predefiniti come da inizializzazione del sistema. Se è necessario personalizzare questa sezione, crearla nel file di configurazione e definire solo gli attributi per cui è necessario eseguire la personalizzazione.

<httpRuntime 
   executionTimeout="110"
   maxRequestLength="4096"
   requestLengthDiskThreshold="80"
   useFullyQualifiedRedirectUrl="false"
   minFreeThreads="8"
   minLocalRequestFreeThreads="4"
   appRequestQueueLimit="5000"
   enableKernelOutputCache="true"
   enableVersionHeader="true"
   requireRootedSaveAsPath="true"
   enable="true"
   shutdownTimeout="90"
   delayNotificationTimeout="5"
   waitChangeNotification="0"
   maxWaitChangeNotification="0"
   requestPriority="Normal"
   enableHeaderChecking="true"
   sendCacheControlHeader="true"
   apartmentThreading="false"
/>

Esempio

Nell'esempio riportato di seguito viene illustrato come specificare i parametri di runtime HTTP per un'applicazione ASP.NET.

<configuration>
  <system.web>
  <httpRuntime maxRequestLength="4000"
    enable = "True"
    requestLengthDiskThreshold="512
    useFullyQualifiedRedirectUrl="True"
    executionTimeout="45"
    versionHeader="1.1.4128"/>
  </system.web>
</configuration>

Informazioni sull'elemento

Gestore della sezione di configurazione

HttpRuntimeSection

Membro di configurazione

HttpRuntime

Percorsi configurabili

Machine.config

Web.config a livello di radice

Web.config a livello di applicazione

Web.config a livello di directory fisica o virtuale

Requisiti

Microsoft Internet Information Services (IIS) versione 5.0, 5.1 o 6.0

.NET Framework 1.0, 1.1, 2.0

Microsoft Visual Studio 2003 o Visual Studio 2005

Vedere anche

Attività

Procedura: configurare directory specifiche utilizzando le impostazioni posizione

Procedura: bloccare le impostazioni di configurazione di ASP.NET

Concetti

Memorizzazione nella cache di pagine ASP.NET

Gerarchia ed ereditarietà dei file di configurazione di ASP.NET

Protezione della configurazione di ASP.NET

Scenari di configurazione ASP.NET

Riferimenti

Elemento system.web (schema delle impostazioni ASP.NET)

Elemento configuration (schema delle impostazioni generali)

System.Configuration

System.Web.Configuration

HttpRuntimeSection

HttpRuntime

Altre risorse

Impostazioni di configurazione generali (ASP.NET)

Impostazioni di configurazione di ASP.NET

Amministrazione di siti Web ASP.NET

API di configurazione di ASP.NET