4

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

回答我的问题 - 将文件保存到临时目录是否被认为是一种好习惯?我将使用以下逻辑:

Path.GetTempFileName();

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

注意:我曾考虑使用IsolatedStorage选项来创建文件并在我完成使用它时手动删除文件,即当用户离开选项卡时。但是,它并不顺利,因为我需要获取文件的绝对或相对路径,并且在与隔离存储交互时这似乎不是一个直接/安全的家务活。我的观点是,它的设计初衷就是不允许这样做。

4

4 回答 4

3

我经常写临时文件。在我谦虚的观点中,关键是通过删除不需要的临时文件来清理自己。

于 2013-01-16T19:59:01.777 回答
2

在我看来,当您不需要临时文件时,实际删除它们是一种更好的做法。考虑Path.GetTempFileName() 方法中的以下注释:

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

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

此外,您应该注意以下适用于 Windows 7 和 Windows Server 2008 R2的修补程序。

于 2013-01-16T20:14:49.750 回答
1

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

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

于 2013-01-16T20:07:13.150 回答
0

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

于 2013-01-16T20:11:20.133 回答