Определите, когда файлы в папке изменяются по требованию - PullRequest
1 голос
/ 18 февраля 2010

Я создаю RSS-канал по требованию из папки изображений. Создание канала довольно дорого для больших наборов файлов, поэтому я кеширую канал после первого создания, но я хотел бы знать, нужно ли мне заново создавать канал, когда кто-то его запрашивает.

Я думаю, что если бы я мог найти способ дешево создать уникальный хеш из всех файлов и дат файлов, то, когда хеш изменился, я бы знал, что нужно заново сгенерировать фид.

У кого-нибудь есть идеи, как дешево создать этот хэш? Является ли хеш даже правильным названием для того, что я собираюсь сделать?

Edit:

Я знаю, что FileSystemWatcher существует именно для этого типа вещей. Но мне более любопытно, как сделать это по требованию. У меня были другие случаи, когда я делал то же самое и использовал средство просмотра файлов для получения уведомлений, но я полагаю, что у кого-то есть представление о том, что делать, когда вы не можете получать уведомления об изменении файла ...

Ответы [ 2 ]

1 голос
/ 18 февраля 2010

вы можете выбрать все файлы в папке, упорядоченные по убыванию даты изменения, тогда вам нужно будет только сравнить данные первых файлов с последней датой создания канала, и вы будете знать, нужно ли вам снова создавать канал.

0 голосов
/ 18 февраля 2010

Атакуйте проблему с другой точки зрения (если у вас есть доступ к этому коду).

Когда создаются новые файлы? Иметь код, который вставляет в новые файлы начальную регенерацию RSS (статического) файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...