Назад | Перейти на главную страницу

Обработка блокировки кэша диска модулем ARR. Как выпустить его без повторного использования пула приложений?

Я получаю кешированный файл на диске в каталоге c: \ arrCache_media \ video. IIS все еще обрабатывает файл, поэтому я не могу переименовать, удалить или перезаписать файл. Но я могу переместить файл в другую папку, поэтому я пробую этот способ решить свою проблему.

Я перемещаю свой файл entcadieux1.wmv.full в другую папку с именем Trash по пути c: \ Trash. Когда я перемещаю файл, IIS все еще получает дескриптор файла. Если вы посмотрите снимок экрана монитора процессов IIS, то теперь получите файл в каталоге корзины.

Если я удалю файл, он попадет в системную корзину.

Мои вопросы: это ненормально, что система кеширования ARR блокирует файл в папке кеша. Я могу открыть файл в режиме чтения. Таким образом, он мог быть логичным, что дескриптор файла будет освобожден после процесса записи. Я думаю, что с помощью этого сценария проблема может быть решена. Файл можно удалить вручную или с помощью кода, и iis отправит запрос на сервер веб-фермы. Я знаю, что если я переработаю пул приложений, iis освободит дескриптор, но я не буду выпускать пул приложений, потому что это повлияет на более 200 сайтов.

Я просто потенциально решаю свою проблему. После нескольких часов тестирования код и все безуспешно. Как показывают тесты, первичный кеш ARR будет "блокировать" файл контроллера на его существование. Однако вторичный кеш гораздо более разрешающий (к счастью), он позволяет нам удалять файлы без них, он «заблокирован» IIS. Итак, что бы я сказал, что я полностью удалил первичный кеш на своих серверах ARR, оставив только вторичный кеш. Пока тесты проходят успешно.