0

ASP.NET MVC では、ファイルをアップロードするために単純に を使用し<input type="file" ... />、フォームを投稿するアクションはHttpPostedFileBaseas パラメータを取ります。ここまでは順調ですね。問題はHttpPostedFileBase、メタデータだけが含まれており、サーバーのディスク上の一時ファイルを参照しているのか、それともオブジェクトに実際のバイトが含まれているのかということです。これは、スケーラビリティのために重要です。これはHttpPostedFileBase、セッションに を保持すると非常に便利なシナリオがあるためですが、オブジェクトにアップロードされたファイルの実際のバイトが含まれている場合、サーバーのメモリがすぐにいっぱいになるのではないかと心配しています。

4

1 に答える 1

2

データをメモリに保持します。スケーラビリティが心配な場合は、おそらく Web ファームを計画する必要があり、セッションに多くの大きなアイテムがあるのは良くありません。したがって、これらを自分で管理するのがおそらく最善です(ファイルまたはデータベースを使用して、ファイル名/IDをセッションに保存します)。

決定は、ファイルの数と大きさ、およびそれらをどうするかによって異なります (つまり、リクエストごとにファイルが必要なのか、それとも 20 分後のセッションで 1 つのファイルが必要なのか)。

于 2012-07-10T11:23:43.347 に答える