Упрощенные файлы web.config
Это первая статья из запланированного мной цикла статей по ожидаемым VS 2010 и .NET 4. Эта статья будет небольшой, но мне кажется она описывает очень полезное изменение, которое будет в ASP.NET 4.0: простые и сокращенные файлы web.config. Вы столкнетесь впервые с этим изменением, когда создадите в Visual Studio 2010 новый пустой проект ASP.NET 4.0 Web application через File->New Project (именно поэтому я взял эту тему для первой статьи).
Файлы Web.config в .NET 3.0 и 3.5
С каждым последующим релизом .NET, файлы web.config включенные в проекты ASP.NET увеличивались в размере. Например: файл web.config используемый по умолчанию при создании нового проекта в Visual Studio 2008 SP1 вырос до 126 строк, которые содержат все: от описаний секций до определений обработчиков и модулей, включенных в механизм обработки ASP.NET http-запросов. Это увеличение в размере происходит потому, что .NET 3.0 и .NET 3.5 используют тот же самый CLR и конфигурационный файл machine.config, которые были включены в .NET 2.0 — и поэтому просто добавляют или обновляют сборки при установке. Чтобы избежать риска непреднамеренной перезаписи пользовательских настроек в оригинальном файле machine.config 2.0, мы не регистрировали определения секций, обработчиков и модулей, которые появлились с выходом .NET 3.0 и 3.5 в machine.config. Вместо этого, мы по умолчанию регистрировали все эти данные в в локальном для приложения файле web.config. Это безопаснее, но привело к тому, что файлы web.config выросли в размере и стали трудночитаемыми.
Файлы Web.config в .NET 4
.NET 4 содержит новую версию CLR и новый файл machine.config специфический для .NET 4 (который устанавливается рядом с имеющимся файлом для .NET 2, .NET 3 и .NET 3.5).
Новый файл machine.config для .NET 4 теперь автоматически регистрирует все секции ASP.NET, обработчики и модули, те которые мы добавляли год за годом, включая функционал для:
- ASP.NET AJAX
- ASP.NET Dynamic Data
- ASP.NET Routing (механизм, который может быть использован как для ASP.NET WebForms так и ASP.NET MVC)
- ASP.NET Chart Control (который отныне будет встроен в поставку ASP.NET V4)
Все эти изменения означают, что когда вы создадите новый проект «Empty ASP.NET application» в VS 2010, вы увидите новый упрощенный и уменьшенный web.config используемый по умолчанию в приложении:
Первая секция конфигурации сообщает ASP.NET о том, что отладка должна быть включена для приложения по умолчанию и указывает версию .NET, на которую должна быть нацелена Visual Studio во время работы механизма intelliSense (VS2010 поддерживает многоцелевую разработку, поэтому intelliSense в IDE будет автоматически подстраиваться под верисю фреймворка, которую вы укажите).
Вторая секция конфигурации указывает на то, нужно ли использовать «интегрированный» режим во время запуска ASP.NET-приложения на IIS7. Эта настройка определяет, необходимо ли запускать все ASP.NET HttpModules для всех запросов к приложению или только для URL специфичных для ASP.NET. Мы установили это значение в true, разрешив механизм по умолчанию для новых ASP.NET приложений, так как по соображениям совместимости настройки IIS7 по умолчанию установлены так, что модули ASP.NET HttpModules запускаются только для URL специфичных для ASP.NET (а не для всех запросов).
Заключение
Упрощенный файл web.config — это небольшое изменение, но несмотря на это, я думаю, что это изменение сделает вашу работу с созданием проектов на ASP.NET с нуля немного более удобным и доступным. В последующих статьях, я оставновлюсь на многих других более важных улучшениях, которые появятся в ASP.NET 4 (но мелкие и приятные вещи будут тоже).
Надеюсь эта статья была вам полезной,
Скотт