私の ASP.NET Web アプリケーションのユーザーが、テキスト情報と画像で構成される証言を送信するシナリオがあります。送信プロセスには、次の手順があります。
- まず、ユーザーがコンテンツを入力し、画像へのパスを選択します
- プレビューをクリックすると、確認できるように情報がもう一度表示されます。
- 情報がデータベースに保持されていることが確認されると、
これに関する問題は、ユーザーが実際に確認する前に、アップロードされた画像を DB に保存したくないことです。代わりに、それらを一時ファイルとして保存し、最終確認後にのみ DB に配置します。
また、アプリケーションを中程度の信頼で実行したいので、アプリケーション ディレクトリへの書き込み権限のみを持ち、それ以外には書き込み権限を与えません。ASPNET / NETWORK SERVICE ユーザーの書き込み権限を ~/App_Data フォルダーに制限したいとさえ思っています。私のシナリオの問題は、一時ファイルがこのフォルダーに作成されると、アプリケーション プールがリサイクルされ、すべての証言送信でそれを望まないことです。
代わりにこれらの一時ファイルを保持するようにどのようにアドバイスしますか? ファイルを更新しても、プールは再起動されません。作成または名前変更の場合のみです。しかし、すべてのユーザーのために画像全体を単一のファイルに保存できるとは思いません。どう思いますか?
更新:アップロードにサードパーティのコントロールを使用していることに注意してください。アップロード後にファイルコンテンツのバイナリストリームにプログラムでアクセスできますが、2回目のポストバック後にこれを保持することはできません(最初のステップとポストバックが実際にアップロードを行います)。