Frage

Ich bin wieder in der Notwendigkeit, einen temporären Ordner zu verwalten, wo Teile unserer Anwendung zu speichern Dokumente, z.B. zwischen dem Druck und dem Import zu einem dms.

Diese Dateien auf dem Beenden der Anwendung gelöscht werden sollen und im Idealfall auf Antrag auch starten, nur für den Fall, dass etwas schief gelaufen ist.

Ich dachte nur von einer einfachen Klasse Umsetzung IDisposable, die in Main () mit einem mit () verwendet werden kann - Aussage, aber irgendwie fühlt sich dieser schmutzig. Mit Directory.Delete(path, true); in einem catch-Block, dass Fänge alle IOExceptions wirklich in Vergangenheit zuverlässig nicht funktionierten.

Alle Meinungen, wie eine solche Funktion, um die intelligente Art und Weise zu implementieren? Irgendwelche recommendendations?

Der tatsächliche Pfad zu verwenden ist für uns nicht relevant, aber wir tun Einsatz %AppData%\[Programname]\Temp jetzt.

Ist es möglich, erstellen wirklich temporäre Dateien auf Windows, die beim Herunterfahren gelöscht werden?

thx für Ihre Zeit.

War es hilfreich?

Lösung

Ich sehe nicht ein Problem mit dem IDisposable Ansatz. Eine weitere Alternative wäre einen Versuch zu verwenden, blockiert schließlich in dem Shut-down-Bereich Ihres Codes und fügen Sie den Bereinigungscode in der finally-Block, um sicherzustellen, dass es ausführt. Das einzige Problem ist, wenn Sie ein Multi-Threaded-App verwenden, dann könnten Sie die AppDomainUnhandledException Event-Handler einrichten möchten.

Andere Tipps

Nur eine Mitteilung. Windows verfügt über spezielle Ordner für temporäre Dateien. Einen in dem Profil des Benutzers und eine \ WINDOWS \ Temp

Sie sehen, wenn Ihr Programm nicht temporäre Dateien aus irgendeinem Grunde der Benutzer dies mit Windows Disk Cleanup Tool zu tun in der Lage, entfernt.

Es sieht aus wie Fenster ist nicht selbstreinig Temp wie in * nichts. Aber ich habe festgestellt, http://www.tek-tips.com /viewthread.cfm?qid=1314337&page=1 . Es gibt Menschen vorschlagen benutzerdefinierten Skript zu schreiben, die auf LogOff ausgeführt wird. Hoffe, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top