4

C# 3.5 を使用して WinForms アプリケーションを開発しています。ファイルを一時的に保存する必要があります。議論のために、それはユーザーがアプリの特定のタブを表示している間の短い時間であるとしましょう。ユーザーがタブから移動した後、このファイルを自由に削除できます。ユーザーがタブに移動するたびに (通常は一度だけ実行されます)、ファイルが作成されます (GUID 名を使用)。

私の質問にたどり着くには、ファイルを一時ディレクトリに保存することをお勧めしますか? 次のロジックを使用します。

Path.GetTempFileName();

私の意図は、ファイルを作成し、削除せずにそのままにしておくことです。ここでは、Windows OS が残りの使用可能な領域の % に基づいて一定の間隔で一時ディレクトリをクリーンアップすると仮定します。

注: IsolatedStorageオプションを使用してファイルを作成し、使用が終了したとき、つまりユーザーがタブから移動したときにファイルを手動で削除することを検討していました。ただし、ファイルへの絶対パスまたは相対パスを取得する必要があるため、うまくいきません。IsolatedStorage と対話するとき、これは簡単で安全な雑用ではないようです。私の意見では、これを許可するように設計されていません。

4

4 に答える 4

3

私はかなり頻繁に一時ファイルを書きます。私の謙虚な意見では、重要なのは、不要な一時ファイルを削除して、自分自身を片付けることです。

于 2013-01-16T19:59:01.777 に答える
2

私の意見では、必要のない一時ファイルは実際に削除することをお勧めします。Path.GetTempFileName() Methodからの次の注意事項を考慮してください。

GetTempFileName メソッドを使用して、以前の一時ファイルを削除せずに 65535 を超えるファイルを作成すると、IOException が発生します。

一意の一時ファイル名が使用できない場合、GetTempFileName メソッドは IOException を発生させます。このエラーを解決するには、不要な一時ファイルをすべて削除します。

また、Windows 7 および Windows Server 2008 R2 用の次の修正プログラムについても注意する必要があります。

于 2013-01-16T20:14:49.750 に答える
1

一時ディレクトリに一時ファイルを作成しても問題ありません。一時ファイルの使用が終了したら、一時ファイルをクリーンアップすることをお勧めします。

一時ファイルは、必要なデータを長期間 (ユーザー セッション全体として定義) 保持するべきではないことに注意してください。「長期」に必要なデータの例は、ユーザー設定または保存されたデータ ファイルです。

于 2013-01-16T20:07:13.150 に答える
0

先に進んでそこに保存しますが、完了したらクリーンアップします(プログラムを閉じます)。最後まで保管しておくと、再利用も可能です。

于 2013-01-16T20:11:20.133 に答える