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:

  1. Al prompt dei comandi digitare cd drive :\inetpub\adminscriptse quindi premere INVIO.

    Nota

    In questo comando per modificare le cartelle, l'unità è un segnaposto per il disco rigido in cui è installato IIS.

  2. Al prompt dei comandi digitare il comando cscript adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed sizee 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.

  3. Al prompt dei comandi digitare il comando iisresete 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.