1

我再次需要管理一个临时文件夹,我们的部分应用程序存储文档,例如在打印和导入到 dms 之间。

这些文件应该在应用程序关闭时删除,最好在应用程序启动时删除,以防万一出现问题。

我只是想到了一个简单的类实现IDisposable,可以在 Main() 中使用 using() 语句,但不知何故这感觉很脏。Directory.Delete(path, true);在捕获所有 s 的 catch 块中使用IOException过去并不能真正可靠地工作。

关于如何以智能方式实现此类功能的任何意见?有什么建议吗?

实际使用路径与我们无关,但我们现在使用%AppData%\[Programname]\Temp

是否可以在 Windows 上创建在关机时删除的真正临时文件?

谢谢你的时间。

4

2 回答 2

0

我认为使用 IDisposable 方法没有问题。另一种选择是在代码的关闭区域中使用 try, finally 块,并在 finally 块中插入清理代码,以确保它执行。唯一的问题是,如果您使用的是多线程应用程序,那么您可能需要设置 AppDomainUnhandledException 事件处理程序。

于 2009-12-21T11:53:10.323 回答
0

只是一个通知。Windows 有临时文件的特殊文件夹:一个在用户的配置文件中,一个在 \WINDOWS\Temp。

您会看到,如果您的程序出于任何原因未删除临时文件,用户将能够使用 Windows 磁盘清理工具执行此操作。

看起来 Windows 没有像 *nix 中那样的自清洁温度。但我找到了http://www.tek-tips.com/viewthread.cfm?qid=1314337&page=1。人们建议编写将在注销时执行的自定义脚本。希望这可以帮助。

于 2009-12-21T12:08:19.843 回答