Frage

Ich habe eine Aufgabe Service mit Verhalten wie diese zu implementieren. Meine Frage lautet:

Wie Indexing Service erinnert welche Dateien bereits indiziert und was nicht, welche Dateien geändert und Notwendigkeit, sie indizieren?

Auch kann ich diesen Dienst beenden und starten Sie es dann nach ein paar Tagen, geht es an die Arbeit. Ist es seine eigene Datenbank mit Informationen über Dateien haben?

Danke

War es hilfreich?

Lösung

Normalerweise ist die Indizierung-Service bleibt im Hintergrund mit WaitForSingleObject / WaitForMultipleObjects auf Handles erstellt durch Anrufe FindFirstChangeNotification. Wenn Sie, dass der Indexdienst unterstützt werden soll abgeschaltet werden kann (oder ein bereits vorhandenes Verzeichnis verwendet werden), sollten Sie auf jeden Fall speichern die Zeitstempel der letzten Indexlauf auf jeder Datei. Sie können dies mit dem vergleichen, Lastwritetime der angegebenen Datei.

EDIT: Sie sollten ReadDirectoryChangesW und ein anderer Thread, die asynchron Indizes die Dateien sicher sein, keine Änderungen zu verpassen. Sie können entweder Laich, neue Themen für jede Datei zu indizieren (teuer) oder eine Auftragswarteschlange verwenden und eine feste Menge an Worker-Threads (1 oder 2 bevorzugt)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top