Антивирус и конфликт доступа к файлам: передовой опыт программирования?

Иногда мы экспериментируем с ошибками «отказано в доступе» из-за антивируса, который обрабатывает файл в то время, когда наша программа хочет его записать/переименовать/скопировать.

Это случается редко, но меня расстраивает, потому что я не нахожу хорошего способа справиться с: технически наш ответ состоит в том, чтобы изменить наш исходный код, чтобы реализовать своего рода механизм retry... но мы не удовлетворены .. . это немного пахнет... мы не можем себе позволить говорить нашим клиентам "пожалуйста, выключите ваш антивирус, пусть наше программное обеспечение работает нормально"...

Поэтому, если вы уже сталкивались с такими проблемами, сообщите мне, как вы с ними справились.

Спасибо!


person Adam Reith    schedule 23.09.2008    source источник


Ответы (1)


На самом деле очень мало возможностей сказать «отключи avs». Это просто не будет работать во многих офисах, поэтому мы сделали именно то, что вы сказали: создали очередь повторных попыток.

Заблокированные файлы добавляются в очередь. Когда исходная операция заканчивается, мы делаем паузу на 1 секунду и последовательно просматриваем очередь. Файлы, которые терпят неудачу во второй раз, добавляются во вторую очередь, и после завершения первой мы ждем 3 секунды и проталкиваем вторую очередь.

Сообщается о файлах, не прошедших вторую очередь (третья попытка).

person Oli    schedule 23.09.2008