我的应用程序处理来自不同来源的电子邮件,例如 Outlook 和 IMAP 邮箱。在解析它们之前,我将它们写入临时目录(不能将它们保存在内存中)。在解析时,我可能会将附件写入临时目录(例如,如果它们太大而无法保存在内存中或无法提取全文)。
但是在野外,发生了两件事,一开始看起来很奇怪,但都可以追溯到病毒扫描程序的行为:
我有时无法打开几毫秒前自己编写的文件。它们显然被病毒扫描程序锁定以确保它们是干净的。我得到一个例外。
如果文件被病毒扫描程序认为是危险的,它会在某个时间点将其删除。
为了应对这种行为,我编写了一些方法,如果打开失败再试一次,或者检查文件是否存在,但我无法在应用程序的每个部分使用它们(第 3 方代码,例如过滤器) ,所以事情变得更好了,但不是 100% 完美,因此我的源代码部分看起来很丑。
您如何应对病毒扫描程序?