我有一个场景,我将文件从存储下载到临时文件夹。然后我调用一个框架来处理这个文件,这个框架在应用程序的生命周期中需要这个文件。当应用程序退出时,我关闭所有文件,但是当应用程序崩溃时文件不会被删除。可以有多个应用程序实例。自动删除临时文件(C#)
删除这些文件的最佳方法是什么?我有2个想法:
- 可以在下次运行应用程序时删除文件。我的想法是在临时路径中使用一个主文件夹,并在文件夹的名称等于当前进程的进程ID的位置使用一个文件夹。当我下次运行应用程序时检查所有文件夹,并检查是否有运行此ID的进程。如果没有,我删除该文件夹。此解决方案的问题是,它需要管理员权限才能运行Process.GetProcessById
- 我为每个进程创建一个文件夹并使用锁定文件。我用DeleteOnClose保持打开的流等于true。在应用程序的下一次运行中,我会检查所有文件夹及其锁定文件。如果没有锁定文件或我可以删除它,我也删除该文件夹。
您有其他想法吗?
编辑:实施解决方案#2,像魅力一样工作。