Elemento httpRuntime (schema delle impostazioni ASP.NET)

[Questa documentazione ha solo scopo di anteprima ed è soggetta a modifiche nelle versioni successive. Gli argomenti vuoti sono inclusi come segnaposto.]

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

<httpRuntime
   apartmentThreading = "[True|False]"
   appRequestQueueLimit = "number"
   delayNotificationTimeout = "number"
   enable = "[True|False]" 
   enableHeaderChecking = "[True|False]" 
   enableKernelOutputCache = "[True|False]" 
   enableVersionHeader = "[True|False]" 
   encoderType = "string"
   executionTimeout = "number" 
   maxQueryStringLength = "number"
   maxRequestLength = "number" 
   maxUrlLength = "number"
   maxWaitChangeNotification = "number" 
   minFreeThreads = "number" 
   minLocalRequestFreeThreads = "number" 
   relaxedUrlToFileSystemMapping = "[True|False]"
   requestLengthDiskThreshold = "number" 
   requestPathInvalidCharacters = "string"
   requestValidationMode = "[2.0|4.0]"
   requestValidationType = "string"
   requireRootedSaveAsPath = "[True|False]"
   sendCacheControlHeader = "[True|False]" 
   shutdownTimeout = "number"
   targetFramework = "number"   useFullyQualifiedRedirectUrl = "[True|False]" 
   waitChangeNotification = "number" />

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo

Descrizione

apartmentThreading

Attributo Boolean facoltativo.

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

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.

delayNotificationTimeout

Attributo Int32 facoltativo.

Specifica il timeout in secondi per le notifiche di ritardo.

Il valore predefinito è 5 secondi.

encoderType

Ottiene o imposta il nome di un tipo personalizzato che può essere utilizzato per gestire la codifica HTML e URL.

ASP.NET utilizza il tipo HttpEncoder come gestore predefinito per attività di codifica HTML e URL. Per personalizzare il comportamento di codifica, è possibile creare una classe che eredita dal tipo HttpEncoder. Nel file di configurazione per un'applicazione, si imposta quindi l'attributo EncoderType dell'elemento httpRuntime sul nome completo in formato stringa del tipo personalizzato.

Questo attributo è nuovo in .NET Framework versione 4.0.

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

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.

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 criteri di scadenza in base ai quali 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 disabilitato.

NoteNote
Questo attributo non è disponibile in .NET Framework 1.0.

Il valore predefinito è True.

executionTimeout

Attributo Int32 facoltativo.

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

Questo valore di timeout è valida solo se il debug di attributo di compilation elemento è False . Pertanto, se il debug l'attributo è True , non è necessario impostare questo attributo su un valore elevato per evitare la chiusura dell'applicazione mentre si esegue il debug.

Il valore predefinito è 110 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.

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.

requestValidationMode

Attributo Int32 facoltativo.

Ottiene o imposta un numero di versione che indica quale approccio alla convalida specifico della versione ASP.NET sarà utilizzato.

Il valore che si assegna a questa proprietà non è convalidato per corrispondere a una versione specifica di ASP.NET. Qualsiasi valore numerico inferiore a 4.0 (ad esempio,3.7, 2.9o 2.0) viene interpretato come 2.0. Qualsiasi numero maggiore di 4.0 viene interpretato come 4.0.

Il valore predefinito è 4.0.

requestValidationType

Attributo String facoltativo.

Ottiene o imposta il nome di un tipo utilizzato per convalidare le richieste HTTP.

Per personalizzare il comportamento di convalida delle richieste di ASP.NET, è possibile creare una classe che eredita dal tipo RequestValidator. Nel file di configurazione per un'applicazione, quindi impostare la requestValidationType attributo del httpRuntime elemento per il nome della stringa di nome completo del tipo personalizzato

L'impostazione predefinita è il nome completo del tipo RequestValidator utilizzato da ASP.NET per la convalida

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.

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.

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

Il valore predefinito è True.

shutdownTimeout

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

Il valore predefinito è 90 secondi.

targetFramework

Attributo String facoltativo.

Specifica il numero di versione indica che verrà utilizzato il framework di specifica della versione di Common Language Runtime (CLR). Se questo attributo viene omesso, il framework di destinazione è impostato su 4.0.

Il valore predefinito è Null.

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.

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

Il valore predefinito è 0 secondi.

maxQueryStringLength

Attributo Int32 facoltativo.

Lunghezza massima della stringa di query espressa in numero di caratteri. Il valore predefinito è 2048.

Il valore della proprietà MaxQueryStringLength può essere qualsiasi intero, zero o maggiore. Se la lunghezza di una stringa di query supera la dimensione prevista, ASP.NET restituisce un codice di stato HTTP 400 (Richiesta non valida).

NoteNote
Valori estremamente piccoli possono rendere inutilizzabile un sito Web.
NoteNote
È inoltre disponibile un'impostazione di IIS che controlla la lunghezza della stringa di query.Vedere il maxQueryString di attributo Richiesta limiti <requestLimits>.

maxUrlLength

Attributo Int32 facoltativo.

La lunghezza massima dell'URL, in numero di caratteri. Il valore predefinito è 260.

Il valore della proprietà MaxUrlLength può essere qualsiasi intero, zero o maggiore.

Se la lunghezza dell'URL richiesto (che corrisponde al valore della proprietà Path) supera la dimensione configurata, ASP.NET restituisce un codice di stato HTTP 400 (Richiesta non valida).

NoteNote
Valori estremamente piccoli possono rendere inutilizzabile un sito Web. È inoltre disponibile un'impostazione di IIS che controlla la lunghezza della stringa di query.Vedere il maxQueryString di attributo Richiesta limiti <requestLimits>.

relaxedUrlToFileSystemMapping

Attributo Boolean facoltativo.

Indica se l'URL in una richiesta HTTP è necessario essere un percorso di file Windows valido.

La proprietà RelaxedUrlToFileSystemMapping determina come sarà convalidato l'URL in una richiesta HTTP in ingresso. Se questa proprietà è false, l'URL viene convalidato tramite le stesse regole che determinano se un percorso di file system di Windows è valido.

requestPathInvalidCharacters

Attributo String facoltativo.

Un elenco delimitato da virgole di caratteri non validi in un percorso della richiesta. Il seguente elenco contiene il set predefinito di caratteri non validi:

<,>,*,%,&,:,\

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 radice. 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 
   apartmentThreading="false"
   appRequestQueueLimit="5000"
   delayNotificationTimeout="5"
   enable="true"
   enableHeaderChecking="true"
   enableKernelOutputCache="true"
   enableVersionHeader="true"
   encoderType = "System.Web.Util.HttpEncoder"
   executionTimeout="110"
   maxQueryStringLength = "2048"
   maxRequestLength="4096"
   maxUrlLength = "260"
   maxWaitChangeNotification="0"
   minFreeThreads="8"
   minLocalRequestFreeThreads="4"
   relaxedUrlToFileSystemMapping = "False"
   requestLengthDiskThreshold="80"
   requestPathInvalidCharacters = "<,>,*,%,&,:,\"
   requestValidationMode = "4.0"
   requestValidationType = "System.Web.Util.RequestValidator"
   requireRootedSaveAsPath="true"
   sendCacheControlHeader="true"
   shutdownTimeout="90"
   useFullyQualifiedRedirectUrl="false"
   waitChangeNotification="0" />

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) 5.0 o versioni successive

Vedere anche

Riferimenti

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

Elemento configuration (schema delle impostazioni generali)

System.Configuration

HttpRuntimeSection

HttpRuntime

Concetti

Securing Configuration

Altre risorse

Impostazioni di configurazione generali (ASP.NET)

Configuring ASP.NET Applications