У меня есть веб-приложение ASP.NET, использующее среду ASP.NET MVC 2.Это позволяет пользователям загружать файлы в папку загрузки.Эта проблема возникает, когда веб-браузер обращается к изображению в подпапке:
http://mywebapp/uploads/image_gallery/sub_folder/image.jpg
Папка для загрузки статическая и не может быть измененапользователями, но все, что находится ниже, предназначено для изменения.
В приведенном выше примере папка image_gallery блокируется, потому что w3wp.exe создается для создания дескриптора в каталоге sub_folder (с помощью проводника процессов от sysinternals).Я все еще могу переименовать каталог sub_folder, и дескриптор, кажется, остается с ним после переименования, но я не могу переименовать родительскую папку (в данном случае image_gallery).
Я все еще могу просматривать в папкеи просматривать другие изображения и файлы и т. д. Но не могу переименовать родительскую папку.
Поскольку это использует инфраструктуру MVC 2, я добавил исключение для папки загрузки следующим образом:
routes.IgnoreRoute("upload/{*pathInfo}");
в global.asax, поэтому я предполагаю, что ASP.NET обслуживает эти изображения напрямую (за пределами MVC-фреймворка)
Поэтому я предполагаю, что есть вопрос, есть ли способ предотвратитьIIS от установки дескриптора на определенные каталоги или заставить его удалить дескриптор?Платформа MVC 2 делает что-то хитрое, хотя у меня указан ignoreroute?
Заранее спасибо за любые советы!