Я исследовал это и нашел много связанной информации, но ничего, что отвечает на мой вопрос.
Немного предыстории. Небольшой набор файлов совместно используется IIS 10 статически. Эти файлы необходимо обновлять обычно еженедельно, но не чаще одного раза в час (если кто-то не запускает утилиту обновления для тестирования вручную). Ожидается, что файлы будут иметь размер в пару килобайт, но не более 10 килобайт. Процесс обновления может быть запущен на сервере IIS и записан в PowerShell или C#.
. Мой план обновления файлов, которые IIS активно обслуживает как stati c, таков:
- Копирование файлов во временное локальное расположение (на том же томе)
- Попытка перемещения файлов в IIS stati c расположение сайта
- Перемещение может завершиться неудачно если файл используется (IIS). Реализуйте для этого простую стратегию повторных попыток.
Это не вызывает проблем при задержке публикации этих файлов. Чего я действительно хочу избежать, так это того, что IIS пытается получить доступ к одному из файлов в самый неподходящий момент, из-за состязания во время замены файла. У меня нет контроля над HTTP-клиентом, который может быть программой, которая не допускает тип ошибки, которую IIS может вернуть, например, HTTP-статус 404, «Not Found».
У меня есть пара случайных идеи:
- HTTP ПОЛУЧИТЕ файл из IIS, прежде чем я заменим его намерением поместить файл в кэш IIS в надежде на улучшение ситуации.
- Просто игнорируйте эту потенциальную проблему надежда на лучшее
Я не могу быть единственным разработчиком, который сталкивался с этим. Какой хороший способ решить эту проблему? (Или это как-то совсем не проблема, и я просто слишком обдумываю это?)
Заранее спасибо за любую помощь.