|
4
|
| Stefan Steiger Marco van de Voort · 技术社区 · 15 年前 |
|
|
1
5
对于需要创建的每个临时文件,在会话中记下文件名:
接下来,将以下清理代码添加到global.asax中:
更新 :我现在准确地使用了一种新的(改进的)方法。新的方法包括httpruntime.cache和检查文件是否超过8小时。如果有人感兴趣,我会把它贴在这里。这是我的新 全球ASC.CS :
|
|
|
2
1
试用使用
你可以在这里了解更多关于这个方法的信息 http://msdn.microsoft.com/en-us/library/system.io.path.gettemppath.aspx |
|
|
3
1
最好的方法是创建一个批处理文件,该文件由Windows任务计划程序按所需的时间间隔调用。 或 可以使用上面的类创建Windows服务
注意,您也可以在页面加载时调用这个类,它不会影响处理时间,因为处理在另一个线程中。只需移除do while和thread.join()。 |
|
4
0
如何存储文件?如果可能,您可以使用一个简单的解决方案,其中所有文件都存储在以当前日期和时间命名的文件夹中。
|
|
|
5
0
在应用程序启动时创建一个计时器,并安排该计时器每隔1小时调用一个方法,并刷新8小时或1天以上的文件或需要的任何持续时间。 |
|
|
6
0
我有点同意德克在回答中所说的话。 这个想法是,您将文件放到的临时文件夹是一个固定的已知位置,但是我略有不同…
|
|
|
7
0
上面的代码将删除temp目录中8小时前创建或修改的文件。 不过,我建议使用另一种方法。正如Fredrik Johansson建议的那样,您可以在会话结束时删除用户创建的文件。更好的方法是根据临时目录中用户的会话ID使用一个额外的目录。当会话结束时,只需删除为用户创建的目录。
|
|
|
8
0
使用缓存到期通知触发文件删除:
裁判: MSDN | How to: Notify an Application When an Item Is Removed from the Cache |