web-dev-qa-db-ja.com

ASP。Netファイルのアップロード最大リクエスト長がエラーを超えました

ページに単純なASP。Netファイルアップロードコントロールがあります。次のweb.config設定があります

<system.webServer>
      <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="524288000" />
      </requestFiltering>
    </security>
 </system.webServer>

    <system.web>
      <httpRuntime maxRequestLength="524288" executionTimeout="120000" />
    </system.web>

私は開発ボックスでIIS 7.5を使用し、WebサーバーでIIS 7を使用しています。

サイズ7MBのファイルをアップロードすると、正常に動作します。

しかし、10MBのファイルをアップロードすると、次の例外がスローされます

単純なASP。Netファイルのアップロードコントロールがページにあります。次のweb.config 設定

Exception Details: System.Web.HttpException: Maximum request length exceeded.

Stack Trace:     

[HttpException (0x80004005): Maximum request length exceeded.]
   System.Web.HttpRequest.GetEntireRawContent() +8772610
   System.Web.HttpRequest.GetMultipartContent() +62
   System.Web.HttpRequest.FillInFormCollection() +168
   System.Web.HttpRequest.get_Form() +68
   System.Web.TraceContext.InitRequest() +910
   System.Web.TraceContext.VerifyStart() +143
   System.Web.HttpApplication.AssignContext(HttpContext context) +118
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +464

どんな助けでも大歓迎です。私はこの質問が何度も聞かれたことを知っていますが、それらの解決策のどれも私のために働きませんでした。

Sitecoreコンテンツ管理システムを使用しています。

8
Neil

私はついにそれを解決しました。 Sitecoreを使用しているため、特定のパスのコンテンツツリーにアイテムとしてページがあります。これで、ファイルシステム上にある古いページもいくつかあります。ファイルシステム上にあるこれらのページには、maxrequestの長さが制限された独自のローカルweb.configファイルがあります。この設定は、大きなファイルのアップロード中に問題を引き起こしていました。

皆様のご協力に感謝いたします。

4
Neil

MaxRequestLengthが512MBに設定されていますが、これは大きすぎます。代わりに12MBに設定してみてください。

窒息しているのがIISの場合は、非アプリケーションレベルとして設定してみてください。代わりに、ファイルフォルダーにWeb.Configを作成してください。

詳細はこちら:

http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx

6
IrishChieftain