我正在使用C#3.5开发WinForms应用程序。我需要临时保存文件。我们只是说,为了论证,当用户正在查看应用程序上的特定选项卡时,这是一段很短的时间。用户导航离开选项卡后,我可以自由删除此文件。每次用户导航到选项卡(通常只执行一次)时,将创建文件(使用GUID名称)。
要回答我的问题 - 将文件保存到临时目录是不错的做法?我将使用以下逻辑:
Path.GetTempFileName();
我的目的是创建文件并保留它而不删除它。我将在这里假设Windows操作系统根据剩余的可用空间百分比以某个间隔清理临时目录。
注意:我曾考虑使用 IsolatedStorage 选项创建文件并在我使用完毕后手动删除文件,即用户导航离开标签页时。但是,它并不是那么好,因为我需要获取文件的绝对或相对路径,这在与IsolatedStorage交互时似乎不是一个简单/安全的杂务。我的意见是,它只是不允许 此
答案 0 :(得分:3)
我经常写临时文件。在我看来,关键是通过删除不需要的临时文件来清理一个人。
答案 1 :(得分:2)
在我看来,当你不需要它们时,实际删除临时文件是一种更好的做法。请考虑Path.GetTempFileName() Method的以下评论:
如果习惯了,GetTempFileName方法将引发IOException 创建超过65535个文件而不删除以前的临时文件 文件。
如果不是,GetTempFileName方法将引发IOException 唯一的临时文件名可用。要解决此错误,请删除 所有不需要的临时文件。
此外,您应该了解Windows 7和Windows Server 2008 R2的以下hotfix。
答案 2 :(得分:1)
在temp目录中创建临时文件很好。完成使用后,清理任何临时文件被认为是一种很好的做法。
请记住,临时文件不应长期保留您需要的任何数据(定义为跨用户会话)。 “长期”所需的数据是用户设置或保存的数据文件。
答案 3 :(得分:0)
继续保存,但在完成后清理(关闭程序)。保持它们直到最后也允许重复使用。