この記事は、Active Server Pages 要求を使用して、インターネット インフォメーション サービス (IIS) 8.0 以降のバージョンがインストールされているコンピューターに大きなファイルをアップロードするときに発生する問題を解決するのに役立ちます。
元の製品バージョン: インターネット インフォメーション サービス
元の KB 番号: 327659
症状
重要
この記事には、メタベースの編集に関する情報が含まれています。 メタベースを編集する前に、問題が発生した場合に復元できるバックアップ コピーがあることを確認します。 これを行う方法の詳細については、Microsoft 管理コンソール (MMC) の 構成バックアップ/復元のヘルプ トピックを参照してください。
Active Server Pages (ASP) 要求を使用して、インターネット インフォメーション サービス (IIS) 8.0 以降のバージョンがインストールされているコンピューターに大きなファイルをアップロードすると、アップロードが失敗する可能性があります。 エラー 403 応答または次のいずれかのエラー メッセージが表示される場合もあります。
エラー メッセージ 1
要求オブジェクト エラー 'ASP 0104 : 80004005' 操作が許可されていません
エラー メッセージ 2
007~ASP 0104~操作が許可されていません
多数のフォーム データを ASP ページに投稿すると、次のようなエラー メッセージが表示されることがあります。
エラー '80020009' 例外が発生しました
さらに、 Response.binaryWrite
メソッドを使用すると、ファイルのアップロードが失敗する可能性があります。
以前のバージョンの IIS で同じファイルのアップロードが機能していた場合でも、これらの現象の 1 つ以上が発生します。
原因
この問題は、 Content-Length
ヘッダーが存在し、 Content-Length
ヘッダーが IIS メタベースの AspMaxRequestEntityAllowed
プロパティの値より大きいデータ量を指定した場合に発生します。
AspMaxRequestEntityAllowed
プロパティの既定値は 204,800 バイトです。
メモ
このメタベース プロパティは、IIS の 2002 年 10 月の累積的な更新プログラムに最初に含まれていました。 このメタベース プロパティは、IIS 8.0 以降のバージョンの既定のインストールに含まれています。
解決方法
警告
メタベースを誤って編集すると、メタベースを使用する製品を再インストールする必要がある重大な問題が発生する可能性があります。 メタベースを誤って編集した場合に発生する問題を解決できることを Microsoft は保証できません。 メタベースは自己責任で編集してください。
メモ
編集する前に、必ずメタベースをバックアップしてください。
この問題を解決するには、
コマンド プロンプトで、「
cd drive :\inetpub\adminscripts
」と入力し、 Enter キーを押します。メモ
フォルダーを変更するこのコマンドでは、 ドライブ は IIS がインストールされているハード ディスクのプレースホルダーです。
コマンド プロンプトで、コマンド
cscript adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed size
を入力し、 Enter キーを押します。メモ
このコマンドでは、 サイズ は、許可する最大ファイル サイズのアップロードのプレースホルダーです。 最大値は 1,073,741,824 バイトです。 この値を、必要な機能を可能にする最小値に設定します。
コマンド プロンプトで、コマンド
iisreset
を入力し、 Enter キーを押します。
詳細
AspMaxRequestEntityAllowed
プロパティは、ASP 要求のエンティティ本文で許可される最大バイト数を指定します。
Content-Length
ヘッダーが存在し、Content-Length
ヘッダーで AspMaxRequestEntityAllowed
プロパティの値より大きいデータ量が指定されている場合、IIS は 403 エラー応答を返します。
AspMaxRequestEntityAllowed
プロパティは、PUT
要求とPOST
要求にのみ適用されます。
AspMaxRequestEntityAllowed
プロパティは、GET
要求には適用されません。 このメタベース プロパティは ASP にのみ適用されるため、他の Internet Server API (ISAPI) 拡張機能は影響を受けません。
AspMaxRequestEntityAllowed
プロパティは、関数内で MaxRequestEntityAllowed
プロパティに関連付けられます。 ただし、 AspMaxRequestEntityAllowed
プロパティは ASP 要求に固有です。 world Wide Web Publishing Service (WWW サービス) レベルでは、 MaxRequestEntityAllowed
プロパティを 1 MB (MB) に設定できます。 その後、特定の ASP アプリケーションで処理されるデータ量が少ないことがわかっている場合は、 AspMaxRequestEntityAllowed
プロパティをより小さな値に設定できます。