2011-01-11 68 views
0

私は、ユーザーがPdfファイル(約30ページから1つの書類程度)をアップロードできるフォームを持っています。私は、ユーザーがフォーム全体を提出するまで、これらのPdfsをデータベースに格納するのを遅らせたいと思っています。問題は、アップロードされたファイルのコレクションがポストバックを通じて永続できることです。つまり、私はこれらをセッション変数として保存することを検討していますが、これはあまりにも多くのデータを格納することになるでしょうか、あるいはここで2,3の文字列を格納するためのセッション変数ですか?この方法が許容できない場合は、別の方法がありますか?ASP.netセッション変数に格納されるデータの最大量

答えて

2

災害の申請です。

ディスクまたはSQLにtempとして格納し、パスまたはIDのみを格納します。あなた自身が言ったように、ここにいくつかの文字列を格納するためのセッション変数 "

私は、パスやIDもデータベースに格納しなければならないと思うので、サーバがセッションをリサイクルするならば、データとユーザーは、ファイルをクリアするタイムアウトまで一定の期間、それを保持することができます。

+0

私は、Webサーバー上にファイルをディスクに保存することは、メモリに保存するよりも悲惨だと言います。テキストのみのPDFは合理的に小さく、ユーザーの数が適度に少なくなっている小規模なシステムやデータベースのアクセスが非常に高価な小規模なシステムで作業している場合、それらをセッションに格納するのが正解かもしれません。 – Mark

+0

私のアプローチはスケーラビリティがありますが、少し劣っています。 – Aliostad

+0

@マークディスクに保存する際の落とし穴は何ですか?私は "災害"と "もっと悲惨な"の間にいるようです。 –

0

セッション変数に格納できるデータ量は、サーバー上のメモリ量によってのみ制限されます(メモリを使用するセッション永続性システムを使用している場合)。マシン上で何人の同時ユーザーを使用したいのかを計算し、セッションごとにどれくらいのメモリを使用するのか把握し、十分なものがあるかどうかを判断する必要があります。

関連する問題