почему там 2 файла web.config - PullRequest
       21

почему там 2 файла web.config

28 голосов
/ 31 августа 2009

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

  1. 1 в корневом каталоге
  2. 1 в каталоге просмотров

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

Ответы [ 4 ]

39 голосов
/ 31 августа 2009

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

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

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

12 голосов
/ 31 августа 2009

То, что сказал Силки, кроме перефразированного.

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

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

6 голосов
/ 31 августа 2009

/ Views / Web.config

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

/ Web.config

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

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

4 голосов
/ 31 августа 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...