11

ここでmaxRequestLength、2GB(最大値)に設定しています。これは、ASP.NETでサポートされている最大要求サイズを示しています。

<system.web>
    <httpRuntime maxRequestLength="2097151" executionTimeout="3600"/>
    ...

ここではmaxAllowedContentLength、IISでサポートされているリクエストのコンテンツの最大長を指定する4GB(最大値)に設定しています。

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

最大4GBのファイルをアップロードできるようにしたいのですが、maxRequestLengthフィールドによって制限されています。

ignoreHttpRuntimeMaxRequestLengthこのサードパーティのアップロードツール(http://www.element-it.com/onlinehelp/webconfig.html)には、最大4GBのファイルをアップロードできるプロパティがあることに気付きました。

maxRequestLengthこの他のアップロードツールのように値を無視できるかどうか誰かが知っていますか?

4

3 に答える 3

8

MaxRequestLengthのタイプがIntであることを考慮すると現時点では、Int.Maxよりも高い値を正しく解析する方法はありません。

彼らはIIS8を増やしているかもしれないと聞きましたが、現時点ではMicrosoftから具体的なものは何もありません。.Net 4.5で見た唯一の方法は、HttpRequest.GetBufferlessInputStreamを使用することです。

着信HTTPエンティティ本体の読み取りに使用できるStreamオブジェクトを取得します。オプションで、MaxRequestLengthプロパティで設定されているリクエストの長さの制限を無効にします。

于 2012-10-29T21:30:51.240 に答える
1

私の場合、これらは私が適用する必要のある変更でした:

<system.web>
    <httpRuntime targetFramework="4.6.1" maxRequestLength="2147483647" />
</system.web>

<system.webServer>
     <serverRuntime uploadReadAheadSize="2147483647" />
     <security>
        <requestFiltering>
           <requestLimits maxAllowedContentLength="2147483647" />
        </requestFiltering>
     </security>
</system.webServer>

serverRuntimeを追加するには、この質問の最初の回答の指示に従ってください

于 2019-08-16T01:43:13.880 に答える
-1

このようにアプリケーションのweb.configに同じノードを追加することで、machine.config内の設定をオーバーライドできるはずです。Microsoftには、 ASP.NET構成ファイルの階層と継承に関する情報があります。

注: Erik Philipsは正しく、の最大サイズmaxRequestLengthは2,147,483,647(Int32.MaxValue)です。この回答は、アプリケーションのweb.config /内からmachine.config(または任意の.config)で定義された設定をオーバーライドする方法を説明するためのものです。

<configuration>
    ...
    <system.web>
        <httpRuntime maxRequestLength="2147483647"/>
    ...
    ...
    </system.web>
    ...
</configuration>

ただし、これを行う際には、タイムアウトを増やすこともできます。そうしないと、タイムアウトになる可能性があります。

于 2012-10-29T21:22:24.610 に答える