Fehler 403 beim Hochladen einer großen Datei mithilfe einer ASP-Anforderung in Internetinformationsdienste

Dieser Artikel hilft Ihnen, das Problem zu beheben, das auftritt, wenn Sie eine Active Server Pages-Anforderung verwenden, um eine große Datei auf einen Computer hochzuladen, auf dem Internetinformationsdienste (IIS) 8.0 oder höher installiert ist.

Ursprüngliche Produktversion: Internetinformationsdienste
Ursprüngliche KB-Nummer: 327659

Problembeschreibung

Wichtig

Dieser Artikel enthält Informationen zum Bearbeiten der Metabasis. Vergewissern Sie sich vor dem Bearbeiten der Metabasis, dass Sie über eine Sicherungskopie verfügen, die Sie wiederherstellen können, wenn ein Problem auftritt. Informationen dazu finden Sie im Hilfethema Zur Sicherung/Wiederherstellung von Konfigurationen in der Microsoft Management Console (MMC).

Wenn Sie eine ASP-Anforderung (Active Server Pages) verwenden, um eine große Datei auf einen Computer hochzuladen, auf dem Internetinformationsdienste (IIS) 8.0 oder höher installiert ist, schlägt der Upload möglicherweise fehl. Möglicherweise erhalten Sie auch eine Fehlerantwort 403 oder eine Fehlermeldung, die einer der folgenden ähnelt:

  • Fehlermeldung 1

    Anforderungsobjektfehler "ASP 0104 : 80004005" Vorgang nicht zulässig

  • Fehlermeldung 2

    007~ASP 0104~Vorgang nicht zulässig

  • Wenn Sie viele Formulardaten auf einer ASP-Seite veröffentlichen, erhalten Sie möglicherweise eine Fehlermeldung, die der folgenden ähnelt:

    Fehler "80020009" Ausnahme aufgetreten

Darüber hinaus kann der Dateiupload fehlschlagen, wenn Sie die Response.binaryWrite -Methode verwenden.

Eines oder mehrere dieser Symptome treten auf, obwohl derselbe Dateiupload in früheren Versionen von IIS funktioniert hat.

Ursache

Dieses Problem tritt auf, wenn ein Content-Length Header vorhanden ist und der Content-Length Header eine Datenmenge angibt, die größer als der Wert der AspMaxRequestEntityAllowed Eigenschaft in der IIS-Metabasis ist. Der Standardwert für die AspMaxRequestEntityAllowed Eigenschaft beträgt 204.800 Byte.

Hinweis

Diese Metabasiseigenschaft wurde erstmals in das kumulative Update von Oktober 2002 für IIS aufgenommen. Diese Metabasiseigenschaft ist in einer Standardinstallation von IIS 8.0 oder höheren Versionen enthalten.

Lösung

Warnung

Wenn Sie die Metabasis falsch bearbeiten, können Sie schwerwiegende Probleme verursachen, sodass Sie möglicherweise jedes Produkt neu installieren müssen, das die Metabasis verwendet. Microsoft kann nicht garantieren, dass Probleme, die auftreten, wenn Sie die Metabasis falsch bearbeiten, gelöst werden können. Bearbeiten Sie die Metabasis auf eigenes Risiko.

Hinweis

Sichern Sie die Metabasis immer, bevor Sie sie bearbeiten.

Um dieses Problem zu beheben, ändern Sie den Wert in der AspMaxRequestEntityAllowed -Eigenschaft, um die maximale Anzahl von Bytes festzulegen, die im Entitätstext einer ASP-Anforderung zulässig sind. Gehen Sie dazu wie folgt vor:

  1. Geben cd drive :\inetpub\adminscriptsSie an einer Eingabeaufforderung ein, und drücken Sie dann die EINGABETASTE.

    Hinweis

    In diesem Befehl zum Ändern von Ordnern ist laufwerk ein Platzhalter für die Festplatte, auf der IIS installiert ist.

  2. Geben Sie an einer Eingabeaufforderung den Befehl cscript adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed sizeein, und drücken Sie dann die EINGABETASTE.

    Hinweis

    In diesem Befehl ist size ein Platzhalter für den größten Upload der Dateigröße, den Sie zulassen möchten. Der Maximalwert ist 1.073.741.824 Bytes. Legen Sie diesen Wert auf den niedrigsten möglichen Wert fest, der die gewünschte Funktionalität zulässt.

  3. Geben Sie an einer Eingabeaufforderung den Befehl iisresetein, und drücken Sie dann die EINGABETASTE.

Weitere Informationen

Die AspMaxRequestEntityAllowed -Eigenschaft gibt die maximale Anzahl von Bytes an, die im Entitätstext einer ASP-Anforderung zulässig sind. Wenn ein Content-Length Header vorhanden ist und der Content-Length Header eine Datenmenge angibt, die größer als der Wert der AspMaxRequestEntityAllowed Eigenschaft ist, gibt IIS die Fehlerantwort 403 zurück. Die AspMaxRequestEntityAllowed -Eigenschaft gilt nur PUT für -Anforderungen und - POST Anforderungen. Die AspMaxRequestEntityAllowed -Eigenschaft gilt nicht für GET Anforderungen. Da diese Metabasiseigenschaft nur für ASP gilt, sind andere ISAPI-Erweiterungen (Internet Server API) nicht betroffen.

Die AspMaxRequestEntityAllowed -Eigenschaft ist in der -Funktion mit der MaxRequestEntityAllowed -Eigenschaft verknüpft. Die Eigenschaft ist jedoch AspMaxRequestEntityAllowed spezifisch für ASP-Anforderungen. Sie können die MaxRequestEntityAllowed Eigenschaft auf 1 Megabyte (MB) auf der Ebene des WWW-Diensts (WWW-Dienst) festlegen. Anschließend können Sie die AspMaxRequestEntityAllowed -Eigenschaft auf einen kleineren Wert festlegen, wenn Sie wissen, dass Ihre spezifischen ASP-Anwendungen eine kleinere Datenmenge verarbeiten.