C# 确定文件夹中的文件何时按需更改

C# 确定文件夹中的文件何时按需更改,c#,hash,C#,Hash,我正在从一个图像文件夹中按需创建RSS提要。显然,在大型文件集上创建feed非常昂贵,因此我在第一次创建feed之后缓存feed,但我想知道是否需要在有人调用feed时重新创建feed 我在想,如果我能找到一种便宜的方法来创建所有文件和文件日期的唯一散列,那么当散列改变时,我就会知道如何重新生成提要 有人对如何便宜地创建这个哈希有什么想法吗?一个杂凑是我想要做的事的正确名称吗 编辑: 我知道一个FileSystemWatcher就是为这类事情而存在的。但我更好奇的是一种按需操作的技术。我也有过这

我正在从一个图像文件夹中按需创建RSS提要。显然,在大型文件集上创建feed非常昂贵,因此我在第一次创建feed之后缓存feed,但我想知道是否需要在有人调用feed时重新创建feed

我在想,如果我能找到一种便宜的方法来创建所有文件和文件日期的唯一散列,那么当散列改变时,我就会知道如何重新生成提要

有人对如何便宜地创建这个哈希有什么想法吗?一个杂凑是我想要做的事的正确名称吗

编辑:


我知道一个FileSystemWatcher就是为这类事情而存在的。但我更好奇的是一种按需操作的技术。我也有过这样的例子,我也做过同样的事情,并使用了一个文件监视程序来获取通知,但我认为有人知道当您无法获取文件更改通知时该怎么做…

从另一个角度(如果您可以访问该代码)来解决问题


什么时候创建新文件?让放入新文件的代码启动RSS(静态)文件的重新生成。

从另一个角度解决问题(如果您可以访问该代码)


什么时候创建新文件?让放入新文件的代码启动RSS(静态)文件的重新生成。

您可以选择文件夹中按修改日期降序排列的所有文件,然后,您只需对照上次feed创建日期检查第一个文件数据,就可以知道是否必须再次创建feed。

您可以选择文件夹中按修改日期降序排列的所有文件,然后,您只需对照上次feed创建日期检查第一个文件数据,就可以知道是否必须再次创建feed。

不能只使用
FileSystemWatcher
来监视更改?+1对于
FileSystemWatcher
,我建议只使用此选项。我还将使用FileSystemWatcher。每个文件或文件夹保持“脏”状态。如果已创建缓存,请清除所有脏标志(在填充缓存之前!)。如果通过FileSystemWatcher注意到文件已更改,请设置脏状态。就是这样。不能只使用
FileSystemWatcher
来监视更改吗?+1对于
FileSystemWatcher
,我建议只使用这个。我也会使用FileSystemWatcher。每个文件或文件夹保持“脏”状态。如果已创建缓存,请清除所有脏标志(在填充缓存之前!)。如果通过FileSystemWatcher注意到文件已更改,请设置脏状态。就是这样。我有一个类似的想法,使用文件时间戳来检测更改。但是,以这种方式将无法检测到删除某些文件。请检查文件夹上的修改时间。这会更快(因为你不需要在文件中循环),而且如果有文件被删除,也会被更改。事实上,我刚刚检查了这个,它似乎工作了,至少在我的机器上,我能够通过观察文件夹的修改时间来获得我想要的大部分内容。我有一个类似的想法,使用文件时间戳来检测更改。但是,以这种方式将无法检测到删除某些文件。请检查文件夹上的修改时间。这会更快(因为你不需要在文件中循环),而且如果有文件被删除,也会被更改。事实上,我刚刚检查了这个,它似乎工作了,至少在我的机器上,我能够通过观看文件夹的修改时间得到我想要的大部分内容。