Errore 403 quando si carica un file di grandi dimensioni usando una richiesta ASP in Internet Information Services
Questo articolo consente di risolvere il problema che si verifica quando si usa una richiesta di Active Server Pages per caricare un file di grandi dimensioni in un computer in cui è installato Internet Information Services (IIS) 8.0 o versione successiva.
Versione originale del prodotto: Internet Information Services
Numero KB originale: 327659
Sintomi
Importante
Questo articolo contiene informazioni sulla modifica della metabase. Prima di modificare la metabase, verificare di avere una copia di backup che è possibile ripristinare se si verifica un problema. Per informazioni su come eseguire questa operazione, vedere l'argomento della Guida backup/ripristino della configurazione in Microsoft Management Console (MMC).
Quando si usa una richiesta ASP (Active Server Pages) per caricare un file di grandi dimensioni in un computer in cui è installato Internet Information Services (IIS) 8.0 o versione successiva, il caricamento potrebbe non riuscire. È anche possibile ricevere una risposta di errore 403 o un messaggio di errore simile a uno dei seguenti:
Messaggio di errore 1
Errore dell'oggetto richiesta 'ASP 0104 : 80004005' Operazione non consentita
Messaggio di errore 2
007~ASP 0104~Operazione non consentita
Quando si pubblicano molti dati del modulo in una pagina ASP, è possibile che venga visualizzato un messaggio di errore simile al seguente:
Errore '80020009' Eccezione
Inoltre, il caricamento del file potrebbe non riuscire quando si usa il Response.binaryWrite
metodo .
Si verificano uno o più di questi sintomi anche se il caricamento dello stesso file funzionava nelle versioni precedenti di IIS.
Causa
Questo problema si verifica se è presente un'intestazione Content-Length
e se l'intestazione Content-Length
specifica una quantità di dati maggiore del valore della AspMaxRequestEntityAllowed
proprietà nella metabase IIS. Il valore predefinito per la AspMaxRequestEntityAllowed
proprietà è 204.800 byte.
Nota
Questa proprietà della metabase è stata inclusa per la prima volta nell'aggiornamento cumulativo di ottobre 2002 per IIS. Questa proprietà della metabase è inclusa in un'installazione predefinita di IIS 8.0 o versioni successive.
Risoluzione
Avviso
Se si modifica la metabase in modo errato, è possibile causare problemi gravi che potrebbero richiedere la reinstallazione di qualsiasi prodotto che usa la metabase. Microsoft non può garantire che i problemi che si verificano se si modifica in modo errato la metabase possano essere risolti. Modificare la metabase a proprio rischio e pericolo.
Nota
Eseguire sempre il backup della metabase prima di modificarla.
Per risolvere questo problema, modificare il valore nella AspMaxRequestEntityAllowed
proprietà per impostare il numero massimo di byte consentiti nel corpo dell'entità di una richiesta ASP. A tal fine, attenersi alla seguente procedura:
Al prompt dei comandi digitare
cd drive :\inetpub\adminscripts
e quindi premere INVIO.Nota
In questo comando per modificare le cartelle, l'unità è un segnaposto per il disco rigido in cui è installato IIS.
Al prompt dei comandi digitare il comando
cscript adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed size
e quindi premere INVIO.Nota
In questo comando , size è un segnaposto per il caricamento delle dimensioni file più grandi che si desidera consentire. Il valore massimo è 1.073.741.824 byte. Impostare questo valore sul valore più basso possibile che consente la funzionalità desiderata.
Al prompt dei comandi digitare il comando
iisreset
e quindi premere INVIO.
Ulteriori informazioni
La AspMaxRequestEntityAllowed
proprietà specifica il numero massimo di byte consentiti nel corpo dell'entità di una richiesta ASP. Se è presente un'intestazione Content-Length
e se l'intestazione Content-Length
specifica una quantità di dati maggiore del valore della AspMaxRequestEntityAllowed
proprietà, IIS restituisce una risposta di errore 403. La AspMaxRequestEntityAllowed
proprietà si applica solo alle PUT
richieste e alle POST
richieste. La AspMaxRequestEntityAllowed
proprietà non si applica alle GET
richieste. Poiché questa proprietà della metabase si applica solo ad ASP, le altre estensioni ISAPI (Internet Server API) non sono interessate.
La AspMaxRequestEntityAllowed
proprietà è correlata in funzione alla MaxRequestEntityAllowed
proprietà . Tuttavia, la AspMaxRequestEntityAllowed
proprietà è specifica per le richieste ASP. È possibile impostare la MaxRequestEntityAllowed
proprietà su 1 megabyte (MB) a livello del servizio Pubblicazione Sul Web (servizio WWW). È quindi possibile impostare la AspMaxRequestEntityAllowed
proprietà su un valore più piccolo se si sa che le applicazioni ASP specifiche gestiscono una quantità minore di dati.