1

印刷とDMSへのインポートの間など、アプリケーションの一部がドキュメントを保存する一時フォルダーを再度管理する必要があります。

これらのファイルは、何か問題が発生した場合に備えて、アプリケーションのシャットダウン時、理想的にはアプリケーションの起動時にも削除する必要があります。

IDisposablemain()内でusing()ステートメントを使用して使用できる単純なクラス実装を考えただけですが、どういうわけかこれは汚い感じがします。Directory.Delete(path, true);すべてをキャッチするキャッチブロック内での使用IOExceptionは、これまで実際には確実に機能しませんでした。

そのような機能をスマートな方法で実装する方法についての意見はありますか?推奨事項はありますか?

実際に使用するパスは私たちには関係ありませんが、%AppData%\[Programname]\Temp現在は使用しています。

シャットダウン時に削除されるWindows上で本当に一時ファイルを作成することは可能ですか?

あなたの時間のためのthx。

4

2 に答える 2

0

IDisposableアプローチの使用に問題はありません。もう1つの方法は、コードのシャットダウン領域でtry、finallyブロックを使用し、finallyブロックにクリーンアップコードを挿入して、確実に実行されるようにすることです。唯一の問題は、マルチスレッドアプリを使用している場合、AppDomainUnhandledExceptionイベントハンドラーを設定することをお勧めします。

于 2009-12-21T11:53:10.323 に答える
0

ただのお知らせです。Windows には、一時ファイル用の特別なフォルダーがあります。1 つはユーザーのプロファイルにあり、もう 1 つは \WINDOWS\Temp です。

ご覧のとおり、プログラムが何らかの理由で一時ファイルを削除しなかった場合、ユーザーは Windows ディスク クリーンアップ ツールを使用してこれを行うことができます。

Windows には、* nix のように自己クリーニングされた温度がないようです。しかし、 http://www.tek-tips.com/viewthread.cfm?qid=1314337&page=1を見つけました。LogOff で実行されるカスタム スクリプトを作成することを提案する人がいます。お役に立てれば。

于 2009-12-21T12:08:19.843 に答える