Подтвердить что ты не робот

Почему есть 2 файла web.config

Кто-то отправил меня по ссылке, чтобы загрузить образец образца ASPp образца образца asp.net, я заметил, что было 2 файла web.config:

  • 1 в корневом каталоге
  • 1 в каталоге представлений

В чем причина этого?

4b9b3361

Ответ 1

В файле web.config в каталоге Views имеется только одна значимая запись, которая блокирует прямой доступ:

<add path="*" verb="*"
      type="System.Web.HttpNotFoundHandler"/>

Таким образом, кто-то не может вручную попытаться перейти на http://www.yoursite.com/views/main/index.aspx и загрузить страницу вне конвейера MVC.

Ответ 2

Что сказал Шелковый, если не изменить.

В ASP.NET в основном есть стиль наследования для файлов конфигурации. У вас есть файл machine.config в папке framework.net, которая имеет базовые настройки для всех приложений на компьютере. Все, что вы указали в корневом web.config с теми же тегами, переопределит материал в файле machine.config.
Любой web.config в подпапке может переопределять или добавлять дополнительные настройки в эту подпапку и ее дочерние элементы.

Мне всегда интересно, когда один из моих новых программистов помещает обработчик http в корневую папку, а затем все приложения в виртуальных каталогах под ним взрываются, потому что у них нет библиотеки DLL (они должны иметь поместите инструкцию http handler только в нужное приложение, а не в корневой каталог).:)

Ответ 3

/Views/Web.config

Это не ваши приложения Файл web.config. Он просто содержит директива, инструктирующая веб-сервер не обслуживать никакие *.aspx файлы в /Views (потому что они должны быть отображаемый контроллером, не вызываемый прямо как классический WebForms *.aspx файлы). Этот файл также содержит конфигурацию необходимо сделать стандарт Работа компилятора страницы ASP.NET ASPX правильно с представлением ASP.NET MVC синтаксис шаблонов.

/Web.config

Это определяет ваше приложение конфигурации.

Это из книги Pro ASP.NET MVC Framework

Ответ 4

У вас может быть несколько web.configs для определения разных параметров для этой папки. Используется для разрешений и т.д.

Ответ 5

Похоже, что внутренний web.config предназначен для "конкретной" конфигурации, такой как блокировка прямого доступа к представлениям.