HttpHandler для защиты файлов в виртуальном каталоге
Моя цель - защитить определенные файлы, которые существуют в виртуальном каталоге моего приложения веб-форм ASP.NET. Для этого у меня есть HTTPHandler под названием "FileAccessHandler". В моем файле web.config я попытался установить "путь" к виртуальному каталогу, однако, похоже, он работает только с путями, которые существуют в моем приложении, а не с виртуальным каталогом. Я получаю следующую ошибку при использовании пути к виртуальному каталогу: "Не удалось загрузить тип MyProject.FileAccessHandler".
У меня есть конфигурация обработчика следующим образом:
<system.webServer>
<httpModules>
<add name="FileAccessHandler" path="/attachments/*" verb="*" type="MyProject.FileAccessHandler" resourceType="File" preCondition="integratedMode"/>
</handlers>
</system.webServer>
Я попытался вручную добавить обработчик HTTP через IIS напрямую в виртуальный каталог, но тоже не повезло. Любая помощь будет принята с благодарностью!
1 ответ
Проблема найдена! Виртуальный каталог был преобразован в приложение, поэтому тип HTTPHandler не был распознан из вложенного приложения.
Этот веб-сайт ранее был установлен на веб-сервере IIS 6, где среда ASP была более щадящей, и в обоих случаях использовался один и тот же значок. После преобразования в виртуальный каталог тип обработчика HTTP был распознан.
Больше информации:
http://forums.asp.net/t/1813828.aspx?adding+virtual+directory+vs+convert+to+application+