C#在退出网页时删除服务器上的文件和文件夹,无需用户操作

C#在退出网页时删除服务器上的文件和文件夹,无需用户操作,c#,idisposable,temporary-files,delete-file,C#,Idisposable,Temporary Files,Delete File,当用户没有完成网页中的某些操作并退出到其他网页时,我在删除服务器上的临时文件夹和文件时遇到一些问题。在页面加载时创建初始文件夹以允许用户加载文件。我尝试在Idisposable期间实现销毁,但没有成功。当用户在没有操作或取消按钮的情况下退出页面时,是否有人可以指出删除文件夹和文件的最佳方法 我不确定您为什么要创建临时文件夹和文件。但不采取行动就删除它们是一种丑陋的依赖方式,因为您依赖于一些计时器。您可以使用System.IO.Path.GetTempPath()获取临时文件,系统将负责删除 您可

当用户没有完成网页中的某些操作并退出到其他网页时,我在删除服务器上的临时文件夹和文件时遇到一些问题。在页面加载时创建初始文件夹以允许用户加载文件。我尝试在Idisposable期间实现销毁,但没有成功。当用户在没有操作或取消按钮的情况下退出页面时,是否有人可以指出删除文件夹和文件的最佳方法

我不确定您为什么要创建临时文件夹和文件。但不采取行动就删除它们是一种丑陋的依赖方式,因为您依赖于一些计时器。您可以使用System.IO.Path.GetTempPath()获取临时文件,系统将负责删除

您可以调查页面的OnUnload事件,但老实说,您最好定期运行脚本,并从temp文件夹中删除超过合理数量的所有文件。e、 g.在午夜运行并删除24小时前创建的所有文件(如果磁盘空间有问题,则删除更少)。

实际上,Windows不会自动清空临时文件夹。我已经测试过,但我对结果不满意。另一种方法是在全局asax中使用一个会话结束事件,但如果会话以prod模式存储在StateServer或SQLServer中,则不会引发该事件。如果您以后需要在服务器中传输文件,则临时文件夹管理不好。如果您不满意使用OnUnload事件,那么,是的,这就是我建议运行脚本的原因。当我说“临时文件夹”时,我指的是你的临时文件夹,而不是任何类型的操作系统临时文件夹。我不完全清楚你所说的“管理不善”是什么意思?它不能像Escompet那样将内容从临时文件夹传输到Web服务器。我已经返回服务器直接创建std user temp.folders//使用quartz运行一个脚本,我不太喜欢。我更喜欢使用一些受控事件直接就地管理。您在此处发布了相同的问题: