2013-03-06 15 views
5

ASP.Netでファイルアップロードコントロールを使用しています。ASP.NETファイルアップロードで許可される最大ファイルサイズコントロール

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

4MBのデフォルトはのmachine.configに設定されていますが、あなたのweb.configファイルでそれを上書きすることができます。例えば、20メガバイトへのアップロード制限を拡大するために、あなたはこれを行うだろう:

<system.web> 
    <httpRuntime executionTimeout="240" maxRequestLength="20480" /> 
</system.web> 

質問:私は、要求された長さを増やすことができますし、何がサイト上のパフォーマンスへの影響になります どのレベル(MAXサイズ)ティルユーザーが50〜60MBのファイルもアップロードできるようにした場合

+0

パフォーマンスの影響は、誰かが大量のファイルをアップロードするたびに、それほど多くの帯域幅を使用することになります..... – Liam

+0

IIS 7では約2 GBですが(帯域幅に関する@Liamの考慮事項は本当です)本当に必要な場合は...ファイルのアップロード用に別のインターフェースを実装する方がいいです(例えば、POSTとカスタムブラウザー拡張を使って)。 –

+0

@ Liam、@ Adrianoアプリケーションはイントラネット上でホストされるため、利用可能な帯域幅はさらに大きくなります。しかし、私はIISが100MB〜200MBのファイルに対応しているかのように、ユーザーをある程度制限したいので、他のWebサイトのユーザーはパフォーマンスが低下します。 – Pratik

答えて

5

maxRequestLengthフィールドの「理論的」最大レベルは、符号付き32ビット整数データタイプ(Int32.MaxValue)の最大値です。

ただし、パフォーマンスを理解するためにアップロードをテストする必要があります。

EDIT:

a Microsoft support ticketから:

は理論的には、ファイルの最大アップロードサイズはかなり大きいです。ただし、ASP.NETの正常性監視のために は、ASP.NETに非常に大きな ファイルをアップロードすることはできません。 ASP.NETワーカープロセスには、2ギガバイト(GB)の仮想アドレス のスペースがあります。ただし、ASP.NETワーカープロセスのみ は、ヘルスモニタリングとメモリ のフラグメンテーションのために1 GBを少し超えて使用します。

アップロード処理中に、ASP.NETはファイル全体をメモリ にロードしてから、ユーザーがファイルをディスクに保存できます。したがって、プロセス は、Machine.configファイル内のprocessModel タグのmemoryLimit属性のためにリサイクルされる可能性があります。 memoryLimit属性は、 を指定して、プロセスが自動的にリサイクルされる前にASP.NETワーカープロセスが排気できる物理メモリの割合を と指定します。リサイクル は、メモリリークが原因でASP.NETがクラッシュするのを防ぎます。または、 が応答しなくなります。

さらに、 をアップロードできる最大ファイルサイズには、他の要素も影響します。これらの要素には、使用可能なメモリ、利用可能なメモリ、プロセッサの速度、現在のネットワークトラフィックなどが含まれます。 ファイルの定期的なトラフィックがアップロードされている場合、 は10から20メガバイト(MB)の範囲で最大ファイルサイズを使用することをお勧めします。 ファイルをめったにアップロードしない場合、最大ファイルサイズは100 MBになります。

メモASP.NETで100 MBを超えるファイルをアップロードすることができます。 ただし、この資料に記載されている最大ファイルアップロード サイズに従うことをお勧めします。 ファイルサイズをより正確に判断するには、本番環境で使用されるコンピュータの に似ているコンピュータで負荷テストを実行します。

+0

-1、いいえ、** **で表示されています。制限はずっと低くなっています(2,097,152 KB = 2 GB) –

+0

@Adriano数字の資格について何も言及しませんでした。しかし、それがKBであることを知っておくと良いです、私は私の答えを更新します。 –

+0

@DavinTryon explainationは、ASP.netファイルのアップロード制御の限界を正当化するのに非常に役立ちます。どうもありがとう。 – Pratik

関連する問題