0

ASP.NET Web フォーム サイトを作成しました。

このサイトでは、ユーザーは記事を書いたり、添付ファイルをアップロードしたりできます。

ユーザーが記事を書いている間、アップロードされた添付ファイルはtemp folderサイト フォルダーに作成されたファイルに移動され、ユーザーが記事を送信すると、添付ファイルは適切なパスに移動されます。

しかし、ユーザーがフォームを閉じて記事を破棄した場合はどうなるでしょうか? 一時フォルダ内のファイルは永続的ですか? もちろん違います!

それで

保留中のファイルを削除せずに、一時ファイルを定期的に削除するための適切なシナリオを決定したいと考えています。

私はシナリオについて考えています:

  • 1 時間以上作成されたファイルを削除します。(ファイル システム機能を使用して)Application_StartイベントまたはSession_end

より良いアイデアはありますか?

4

1 に答える 1

2

スタンドアロンの Windows サービスとして実行します。

そのロジックを Application_Start イベントに追加すると、サイトが常にアクセスされる (IIS によってリサイクルされない) 場合、そのプロセスは 1 回だけ実行されます。また、最初の訪問者のサイトの最初のプリコンパイルが大幅に遅くなる可能性もあります。

Session_end は良いかもしれませんが、2 人が同時に終了すると、競合状態に陥る可能性があります。

Windows サービスは、常に実行されているという利点があり (正しく記述されていれば、待機中に CPU を使用しない)、ASP.NET サイトの動作を妨げません。

于 2013-06-24T22:46:17.930 に答える