将文件保存在临时目录中是否被视为良好/可接受的做法?

时间:2013-01-16 19:53:07

标签: c# file-io filesystems isolatedstorage

我正在使用C#3.5开发WinForms应用程序。我需要临时保存文件。我们只是说,为了论证,当用户正在查看应用程序上的特定选项卡时,这是一段很短的时间。用户导航离开选项卡后,我可以自由删除此文件。每次用户导航到选项卡(通常只执行一次)时,将创建文件(使用GUID名称)。

要回答我的问题 - 将文件保存到临时目录是不错的做法?我将使用以下逻辑:

Path.GetTempFileName();

我的目的是创建文件并保留它而不删除它。我将在这里假设Windows操作系统根据剩余的可用空间百分比以某个间隔清理临时目录。

注意:我曾考虑使用 IsolatedStorage 选项创建文件并在我使用完毕后手动删除文件,即用户导航离开标签页时。但是,它并不是那么好,因为我需要获取文件的绝对或相对路径,这在与IsolatedStorage交互时似乎不是一个简单/安全的杂务。我的意见是,它只是不允许 此

4 个答案:

答案 0 :(得分:3)

我经常写临时文件。在我看来,关键是通过删除不需要的临时文件来清理一个人。

答案 1 :(得分:2)

在我看来,当你不需要它们时,实际删除临时文件是一种更好的做法。请考虑Path.GetTempFileName() Method的以下评论:

  

如果习惯了,GetTempFileName方法将引发IOException   创建超过65535个文件而不删除以前的临时文件   文件。

     

如果不是,GetTempFileName方法将引发IOException   唯一的临时文件名可用。要解决此错误,请删除   所有不需要的临时文件。

此外,您应该了解Windows 7和Windows Server 2008 R2的以下hotfix

答案 2 :(得分:1)

在temp目录中创建临时文件很好。完成使用后,清理任何临时文件被认为是一种很好的做法。

请记住,临时文件不应长期保留您需要的任何数据(定义为跨用户会话)。 “长期”所需的数据是用户设置或保存的数据文件。

答案 3 :(得分:0)

继续保存,但在完成后清理(关闭程序)。保持它们直到最后也允许重复使用。