Mon application traite des e-mails provenant de différentes sources, par ex. Outlook et les boîtes aux lettres IMAP. Avant de les analyser, je les écris dans le répertoire temporaire (les garder en mémoire n'est pas une option). Pendant l'analyse, il se peut que j'écrive des pièces jointes dans le répertoire temp (par exemple, si elles sont trop volumineuses pour être conservées en mémoire ou pour l'extraction de texte intégral).Les antivirus verrouillent et suppriment les fichiers temporaires - la meilleure façon de les gérer?
Mais dans la nature, deux choses se produisent qui semblait très étrange en premier lieu, mais pourrait tout être retracée au comportement du scanner de virus:
Je suis parfois incapable d'ouvrir les fichiers que j'ai Je me suis écrit il y a quelques millisecondes. Ils sont évidemment verrouillés par des antivirus pour s'assurer qu'ils sont propres. J'ai une exception.
Si les fichiers sont considérés comme dangereux par le scanner de virus, ils les suppriment à un moment donné.
Pour faire face à ce comportement, j'ai écrit quelques méthodes qui tentent à nouveau si elle est ouverte échoue ou faire des vérifications si les fichiers existent, mais je suis incapable de les utiliser dans toutes les parties de l'application (3 code de fête, par exemple des filtres), donc les choses se sont améliorées, mais pas parfait à 100% et mon code source est moche en partie à cause de ça.
Comment gérez-vous les scanners de virus?
Une solution pragmatique à considérer. Malheureusement, certains fichiers sont écrits par des bibliothèques tierces incapables d'écrire dans les flux, mais ceux-ci pourraient être traités différemment. Ne résout cependant pas les problèmes avec les antivirus antivol. –
Il existe des moyens de "raccorder" le processus d'écriture de fichier de sorte que même vos bibliothèques tierces écriraient cryptées. Peut-être même laisser les poignées de fichier ouvertes pour éviter de signaler aux antivirus que vous avez fini de travailler avec le fichier. –