Просмотр каталога перестает работать в каталоге App_Data

Вопрос:

В моем веб-решении ASP.NET у меня есть каталог с именем redlines.

В него я поместил этот web.config, чтобы сделать каталог доступным для просмотра.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <directoryBrowse enabled="true" />
    </system.webServer>
</configuration>

Теперь все отлично работает. Но когда я перемещаю весь каталог redlines в App_Data, желая просмотреть папку redlines в браузере, я получаю HTTP 403.

Я копирую тот же web.config в App_Data, потому что я думал, что это может помочь, но это не помогло.

В чем проблема? (Сервер разработки IIS, Visual Studio 2010)

2 ответа

Решение

App_Data это защищенная папка, вы не можете получить к ней доступ через URL. Это запекается в системе ASP.NET, я не знаю, можете ли вы переопределить это? То же самое, если вы пытаетесь загрузить некоторые другие зарезервированные файлы, такие как web.config,

App_Data Папка предназначена для хранения ваших конфиденциальных данных в нем. Вы можете использовать HttpHandler для обслуживания файлов, если вы хотите выдавать файлы, которые там живут.

App_Data - это скрытая папка. Поэтому все, что в нем будет скрыто. Если вы посмотрите на панели управления "Фильтрация запросов" в IIS Manager, для сайта или для корня, вы увидите, какие расширения файлов и каталогов заблокированы.

Совершенно определенно не рекомендуется что-либо менять там. Он настроен так, чтобы защитить ваше приложение.

Если вы можете принять риск, тогда идите дальше, в противном случае ищите другое решение. например, поместить папку в другое место или создать что-то для чтения / записи из папки.

Саймон

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