如何在Application中正确使用临时存储

时间:2009-12-21 11:47:07

标签: c# idisposable isolatedstorage

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

这些文件应该在应用程序关闭时删除,理想情况下也应该在应用程序启动时删除,以防万一出错。

我只想到了一个实现IDisposable的简单类,它可以在Main()中使用using() - 语句,但不知怎的,这感觉很脏。在抓取所有Directory.Delete(path, true);的catch块中使用IOException在过去并没有真正可靠地运行。

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

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

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

你的时间。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

您看,如果您的程序因任何原因未删除临时文件,则用户可以使用Windows磁盘清理工具执行此操作。

看起来窗户没有像* nix那样的自我清理温度。 但我发现http://www.tek-tips.com/viewthread.cfm?qid=1314337&page=1。有人建议编写将在LogOff上执行的自定义脚本。希望这会有所帮助。