我需要再次管理一个临时文件夹,其中部分应用程序存储文档,例如在打印和导入到dms之间。
这些文件应该在应用程序关闭时删除,理想情况下也应该在应用程序启动时删除,以防万一出错。
我只想到了一个实现IDisposable
的简单类,它可以在Main()中使用using() - 语句,但不知怎的,这感觉很脏。在抓取所有Directory.Delete(path, true);
的catch块中使用IOException
在过去并没有真正可靠地运行。
有关如何以智能方式实现此类功能的任何意见?有任何建议吗?
实际使用路径与我们无关,但我们现在使用%AppData%\[Programname]\Temp
。
是否可以在Windows上创建真正临时文件,在关机时删除?
你的时间。
答案 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上执行的自定义脚本。希望这会有所帮助。