2012-05-26 63 views
2

我有一个下载工作正常,但有时用户的防病毒/防火墙阻止其文件写访问和/或下载。有没有办法来检测?如何检测防病毒/防火墙是否阻止我的应用程序?

+1

那些过分热心的防病毒/防火墙程序总是很有趣...... – CodesInChaos

+0

当尝试执行或读取刚刚下载的文件时,您应该会看到“访问被拒绝”错误代码。通常AV不会阻止写入,但会在下次读取时将其删除。 – mihi

回答

3

由于您使用的是C#,请使用try/catch块并获取UnauthorizedAccessException
这是处理它的最干净和最标准的方式。

注意:这不会告诉你AV是否抓住它,也不应该检查:这是用户和AV的问题。
如果您的程序被拒绝访问某些用户的资源,并且您认为您有访问该资源的合法理由,请告知用户一个漂亮的文本boxt,并让他们用他们的AV进行分类。例如,您可以建议您的下载程序位于AV的受信任程序列表中。

+0

这就是我所做的,但是我应该怎么做防火墙?有时它只是让我超时,所以我猜想防火墙不仅仅是端口阻塞。 – blez

+1

没有标准。您无法区分阻止数据包导致超时的防火墙或远程服务器不可联系导致超时。对于外部防火墙,这将是相同的。只需处理错误并报告错误对用户说的是什么。 – Deanna