Что делает файл Web.Config в папке представлений проекта MVC
У меня возникли проблемы с развертыванием моего приложения и при устранении неполадок я попал в файл Web.Config
в папке « Views
». В попытке сузить возможности источников к моей проблеме я попытался выяснить цель этого файла ~ Web.Config, но не могу найти много информации.
Поэтому в основном мои вопросы:
- Что делает файл
Web.config
в папке «Views
» проекта MVC? - Это необходимо?
В веб-формах Asp.Net я считаю, что для использования отдельного файла web.config в папке эта папка должна быть установлена как виртуальная папка в IIS. Так ли это в MVC (т. Views
Папка Views
должна быть настроена как виртуальная папка)?
- Ошибка HTTP 500.19 - Внутренняя ошибка сервера
- Преобразование Web.config работает локально
- Что получает приоритет, maxRequestLength или maxAllowedContentLength?
- Как настроить инвариантную культуру в ASP.NET-глобализации?
- Установка страницы по умолчанию в Asp.net
- Ошибка входа для пользователя «NT AUTHORITY \ NETWORK SERVICE»
- Для чего нужны файлы Web.Debug.config и Web.Release.Config?
- Переменные в app.config / web.config
- Использование другого Web.config в среде разработки и производства
- Ошибка аутентификации при отладке VS2013 - iis express
- Использовать преобразование web.config Visual Studio для отладки
- Поставщик «Microsoft.ACE.OLEDB.12.0» не зарегистрирован на локальном компьютере.
- Раздел конфигурации «system.web.extensions» не может быть прочитан, потому что отсутствует объявление раздела
Нет, вам не нужно настраивать виртуальную папку из-за этого дополнительного файла web.config.
Файл web.config существует в папках Views, чтобы предотвратить доступ к вашим представлениям любыми способами, кроме вашего controllerа. В шаблоне проектирования MVC controllerы должны маршрутизировать запросы и возвращать визуализированное представление вызывающему клиенту.
Другими словами, ваше мнение по адресу http://www.mydomain.com/MySuperController/AwesomeAction1/SweetPage.aspx не должно быть напрямую доступно.
Если вы заглядываете в файл web.config, он фактически регистрирует HttpNotFoundHandler
ко всем путям и глаголам:
Или в IIS 7 это может выглядеть так:
Он настраивает компилятор для представлений, таких как импорт пространств имен и делает папку представлений возвратом 404.
Файл web.config в папке views должен выполнять некоторые специализированные настройки, которые вы хотите применить к страницам внутри папки просмотра.
Подобно настройкам конфигурации, например: строка подключения / настройки и т. Д.
но это будет применимо только к этой папке, и остальная часть проекта подберет настройки из web.config, присутствующие в корне.
Специально при использовании концепции области будет отдельная папка для каждой области, содержащей отдельный файл web.cfg, где вы можете применять отдельные настройки для каждой области.
Это если вы хотите переопределить что-то, упомянутое в верхнем web.config
, то есть, если вы хотите настроить что-то в пределах области Views
.