Meine Anwendung befasst sich mit E-Mails aus verschiedenen Quellen, z. Outlook- und IMAP-Postfächer Bevor ich sie analysiere, schreibe ich sie in das temporäre Verzeichnis (das Speichern im Speicher ist keine Option). Während der Analyse kann ich Anhänge in das temporäre Verzeichnis schreiben (zum Beispiel, wenn sie zu groß sind, um sie im Speicher zu behalten oder zur Volltextextraktion).Virenscanner sperren und löschen temporäre Dateien - der beste Weg, um mit ihnen fertig zu werden?
Aber in der freien Natur, zwei Dinge geschehen, die in erster Linie sehr seltsam schienen aber alles wieder zu Virenscanners Verhalten zurückgeführt werden könnte:
ich manchmal nicht in der Lage bin Dateien zu öffnen, die ich habe habe ich vor ein paar Millisekunden geschrieben. Sie werden offensichtlich von Virenscannern gesperrt, um sicherzustellen, dass sie sauber sind. Ich bekomme eine Ausnahme.
Wenn Dateien vom Virenscanner als gefährlich eingestuft werden, werden sie zu einem bestimmten Zeitpunkt gelöscht.
mit diesem Problem zu bewältigen, habe ich ein paar Methoden geschrieben habe, die wieder versuchen, wenn offen ausfallen oder einige Prüfungen tun, wenn Dateien vorhanden ist, aber ich bin nicht in der Lage, sie in jedem Teil der Anwendung zu verwenden (3rd Party Code, zum Beispiel Filter), so wurde es besser, aber nicht 100% ig perfekt und mein Quellcode sieht deswegen teilweise hässlich aus.
Wie gehen Sie mit Virenscannern um?
Eine pragmatische Lösung, die es wert ist, berücksichtigt zu werden. Leider werden einige Dateien von Bibliotheken von Drittanbietern geschrieben, die nicht in Streams schreiben können, aber diese könnten auf andere Weise behandelt werden. Löst keine Probleme mit Virenscannern, die Dateien sperren. –
Es gibt Möglichkeiten, den Prozess zum Schreiben von Dateien zu "haken", so dass sogar Bibliotheken von Drittanbietern verschlüsselt schreiben. Vielleicht lassen Sie sogar die Dateigriffe offen, um zu vermeiden, dass Sie den Virenscannern signalisieren, dass Sie mit der Datei fertig sind. –