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+

Другие вопросы по тегам