Общие сведения о конфигурационном ASP.NET

Обновлен: Ноябрь 2007

Используя возможности системы конфигурации ASP.NET, можно настроить все приложения ASP.NET на всем сервере, одно приложение ASP.NET или отдельные страницы или подкаталоги приложений. Можно настроить такие возможности, как режим проверки подлинности, кэширование страниц, параметры компилятора, специальные сообщения об ошибках, параметры отладки и трассировки и многое другое.

В следующих подразделах описаны функции системы конфигурации ASP.NET.

Сведения о настройке клиентских приложений .NET Framework см. в разделе Настройка приложений.

ms178683.alert_note(ru-ru,VS.90).gifПримечание.

Возможности системы конфигурации ASP.NET относятся только к ресурсам ASP.NET. Например, проверка подлинности с помощью форм ограничивает доступ только к файлам ASP.NET, но не к статическим файлам или файлам классической ASP, если эти ресурсы не сопоставляются с расширениями имен файлов ASP.NET. Для настройки ресурсов, не относящихся к ASP.NET, используйте возможности конфигурации служб IIS. Дополнительные сведения см. на страницах Working with the IIS Metabase и IIS Metabase Property Reference.

Файлы конфигурации

Данные о конфигурации ASP.NET хранятся в файлах текста XML, каждый из них назван Web.config. Файлы Web.config могут присутствовать в нескольких каталогах приложений ASP.NET. Эти файлы позволяют легко изменять данные конфигурации перед, во время или поле развертывания приложений на сервере. Файлы конфигурации ASP.NET можно создавать и изменять с помощью стандартных текстовых редакторов, оснастки ASP.NET MMC, средства администрирования веб-узла или API-интерфейса настройки ASP.NET.

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

Дополнительные сведения об организации данных в файлах конфигурации ASP.NET см. в разделе Файлы конфигурации ASP.NET. Доступные параметры конфигурации описаны в разделе Параметры конфигурации ASP.NET.

Иерархия и наследование файлов конфигурации

Каждый файл Web.config содержит параметры конфигурации для каталога, в котором он хранится, и всех его дочерних каталогов. Параметры в дочерних каталогах могут выборочно переопределять или изменять параметры, заданные в родительских каталогах. Параметры конфигурации в файле Web.config могут выборочно применяться к отдельным файлам или подкаталогам с помощью указания пути в элементе location.

Корневой уровень иерархии конфигурации ASP.NET находится в файле systemroot\Microsoft.NET\Framework\номер_версии\CONFIG\Web.config, который содержит параметры, применяемые ко всем приложениям ASP.NET, запущенным с определенной версией платформы .NET Framework. Поскольку все приложения ASP.NET наследуют параметры конфигурации по умолчанию от корневого файла Web.config, необходимо создать файл Web.config только для тех параметров, которые переопределяют параметры по умолчанию.

ms178683.alert_note(ru-ru,VS.90).gifПримечание.

Корневой файл Web.config наследует некоторые базовые параметры конфигурации от файла Machine.config, расположенного в том же каталоге. Некоторые из этих параметров не могут быть переопределены в файлах Web.config. Дополнительные сведения см. в разделе Иерархия и наследование файла конфигурации ASP.NET.

Во время выполнения ASP.NET использует файлы Web.config для иерархического вычисления уникальной коллекции параметров конфигурации для каждого входящего URL-запроса. Эти параметры вычисляются только один раз, а затем кэшируются на сервере. ASP.NET определяет все изменения файлов конфигурации и автоматически применяет эти изменения к соответствующим приложениям, в большинстве случаев вызывая перезапуск приложений. При изменении файла конфигурации, входящего в иерархию, иерархические параметры конфигурации автоматически пересчитываются и перезаписываются в кэш. Чтобы изменения вступили в силу, не требуется перезапуск сервера IIS, если не был изменен раздел processModel.

Дополнительные сведения о работе иерархии конфигурации ASP.NET см. в разделе Иерархия и наследование файла конфигурации ASP.NET и Сценарии конфигурации ASP.NET.

Непосредственное изменение файлов конфигурации

Для непосредственного изменения файлов конфигурации можно использовать текстовый редактор или редактор XML. Сведения о правильном синтаксисе см. в справочных подразделах посвященных конфигурации разделов Параметры конфигурации ASP.NET и Общие параметры конфигурации (ASP.NET). Дополнительные сведения см. в разделе Изменение файлов конфигурации ASP.NET.

Дополнительные элементы конфигурации в файлеWeb.config ASP.NET 3.5

Файл Web.config для приложения ASP.NET, предназначенного для работы в среде.NET Framework версии 3.5, содержит конфигурационные элементы, отсутствующие в файлах Web.config для более ранних версий. Такой расширенный файл Web.config также создается при открытии существующего веб-узла и обновлении этого веб-узла под .NET Framework версии 3.5. В этом случае Visual Studio обновляет файл Web.config, включая в него дополнительные элементы конфигурации.

В следующей таблице приведены новые конфигурационные элементы и изменения в конфигурационных элементах, использовавшихся в предыдущих версиях .NET Framework.

Элемент конфигурации

Изменения в версии 3.5

system.codedom

(Новый раздел) Указывает, как объектная модель документов кода (CodeDOM) платформы .NET Framework должна компилировать исходный код во время выполнения.

configSections

(Новый раздел) Определяет раздел сборки system.web.extensions, используемой технологией AJAX в ASP.NET для определения способа вызова веб-служб из клиентского сценария. Дополнительные сведения см. в разделе Веб-службы в ASP.NET AJAX.

assemblies

(Новый раздел в элементе compilation) Задает коллекцию сборок, ссылки на которые создаются при компиляции страниц ASP.NET. В этот раздел включены сборки, появившиеся в ASP.NET версии 3.5.

namespaces

(Обновленный раздел) Этот раздел указывает, какие пространства имен импортируются по умолчанию. Добавлены пространства имен Linq, Linq и Generic.

controls

(Обновленный раздел) В данном разделе регистрируются сборки, содержащие элементы управления, и определяется префикс для ссылок на элемент управления — аналогично тому, как директива страницы Директивы для веб-страниц ASP.NET регистрирует элементы управления в отдельной странице. По умолчанию в этом разделе регистрируются элементы управления в сборке Extensions. К ним относятся элемент управления ListView и элементы управления, связанные с AJAX.

system.webServer

Данный раздел заменяет собой связанные с AJAX обработчики HTTP-данных и модули, добавленные в разделах httpHandlers и httpModules. Данный раздел делает обработчики и модели доступными службам IIS 7.0, когда они выполняются в интегрированном режиме.

assemblyBinding

(Обновленный раздел) В этом разделе среде выполнения предписывается использовать платформу ASP.NET AJAX, входящую в состав ASP.NET версии 3.5, вместо использования какой-либо предыдущей версии платформы ASP.NET AJAX.

Средства настройки

Система конфигурации ASP.NET предоставляет средства, упрощающие настройку приложений по сравнению с использованием текстовых редакторов, так как в этих средствах доступно обнаружение ошибок.

Оснастка консоли MMC ASP.NET

Оснастка консоли MMC для ASP.NET обеспечивает удобный способ управления параметрами конфигурации ASP.NET всех уровней на локальных или удаленных серверах. Оснастка консоли MMC ASP.NET использует API-интерфейс настройки ASP.NET, но упрощает процесс изменения параметров конфигурации благодаря графическому пользовательскому интерфейсу. Кроме того, данное средство поддерживает функции API-интерфейса настройки ASP.NET, определяющие, разрешено ли наследование параметров веб-приложениями, и управляющие зависимостями между уровнями иерархии конфигурации.

ms178683.alert_note(ru-ru,VS.90).gifПримечание.

Для использования оснастки консоли MMC ASP.NET необходимо выполнить вход в систему с правами администратора.

Оснастка консоли MMC ASP.NET представлена вкладкой ASP.NET на странице свойств виртуального каталога.

Дополнительные сведения см. в разделе Оснастка консоли управления Майкрософт для ASP.NET.

Средство администрирования веб-узла ASP.NET

Средство администрирования веб-узла позволяет всем пользователям с правами администратора на веб-узел управлять параметрами конфигурации для этого веб-узла. Средство администрирования веб-узла — удобное графическое средство для изменения параметров конфигурации, которое чаще всего используется для отдельных веб-узлов. Поскольку в этом средстве используется интерфейс на основе обозревателя, оно позволяет изменять настройки веб-узла удаленно, что очень удобно при администрировании узла, который уже развернут на рабочем веб-сервере, например размещенного веб-узла.

Средство администрирования веб-узла имеет несколько отличий от оснастки консоли MMC ASP.NET. Например, оснастка консоли MMC ASP.NET оптимально подходит для настройки на уровне администратора, так как предоставляет доступ ко всей иерархии файлов конфигурации на веб-сервере, а не к отдельным параметрам конфигурации для отдельного веб-узла. Кроме того, для использования оснастки консоли MMC ASP.NET необходимо являться администратором, а средство администрирования веб-узла позволяет владельцам отдельных веб-узлов настраивать файл Web.config в корневом каталоге улов, для которого они обладают правами администратора. И наконец, оснастку консоли MMC ASP.NET нельзя использовать для удаленного администрирования IIS, а основанный на обозревателе интерфейс средства администрирования веб-узла допускает удаленную настройку для версий IIS начиная с IIS 6.0.

Средство администрирования веб-узла имеет интерфейс с вкладками, в котором связанные параметры конфигурации группируются на следующих вкладках:

  • Вкладка Безопасность содержит параметры, позволяющие обеспечить безопасность ресурсов веб-приложения и управлять учетными записями и ролями пользователей.

  • Вкладка Профиль содержит параметры, позволяющие управлять сбором веб-узлом сведений о посетителях.

  • Вкладка Приложение содержит параметры, позволяющие управлять элементами конфигурации, затрагивающими приложения ASP.NET.

  • Вкладка Поставщик содержит параметры, позволяющие добавлять, изменять, удалять, проверять и назначать поставщиков приложений.

Средство администрирования веб-узла автоматически устанавливается вместе с платформой .NET Framework версии 2.0 и боле поздних версий. Дополнительные сведения об использовании этого средства см. в разделе Средство администрирования веб-узла ASP.NET.

Программы командной строки

Платформа .NET Framework содержит программы командной строки, выполняющие определенные операции настройки. Например, программа Aspnet_regiis.exe позволяет задать версию платформы .NET Framework, применяемую к приложению ASP.NET. Дополнительные сведения см. в разделе Инструменты .NET Framework.

Конфигурационный API-интерфейс настройки ASP.NET

Система конфигурации ASP.NET предоставляет единый управляемый интерфейс для программной настройки приложений ASP.NET без непосредственного изменения файлов конфигурации XML. Кроме того, API-интерфейс настройки ASP.NET выполняет следующие функции:

  • Упрощает задачи администрирования благодаря интегрированному представлению данных со всех уровней иерархии конфигурации.

  • Поддерживает задачи развертывания, включая создание конфигураций и настройку нескольких компьютеров с помощью одного сценария.

  • Предоставляет единый интерфейс программирования для разработчиков, строящих приложения ASP.NET, консольные приложения и сценарии, веб-средства управления и оснастки консоли MMC.

  • Предотвращает неправильную настройку параметров конфигурации разработчиками и администраторами.

  • Позволяет расширять схему конфигурации. Имеется возможность определять новые параметры конфигурации и создавать обработчики разделов конфигурации для обработки этих параметров.

  • Предоставляет статические методы для получения информации о конфигурации из запущенных в данный момент приложений и нестатические методы для получения информации о конфигурации из отдельного приложения. Использование статических методов ускоряет выполнение приложения, но эти методы можно использовать только из приложения, для которого получаются данные конфигурации.

Дополнительные сведения см. в разделе Конфигурационный интерфейс API ASP.NET.

Безопасность конфигурации

Система конфигурации ASP.NET помогает защитить файлы конфигурации от несанкционированного доступа. ASP.NET настраивает службы IIS на запрет доступа для любого обозревателя, запрашивающего доступ к файлам Machine.config или Web.config. В ответ на попытку обозревателя запросить файл конфигурации будет выдана ошибка доступа HTTP 403 (доступ запрещен).

Кроме того, файлы конфигурации в одном приложении ASP.NET не могут получить доступ к параметрам конфигурации в другом приложении ASP.NET, если только приложение конфигурации не запущено с полным доверием с использованием учетной записи, имеющей разрешения на чтение файла конфигурации в другом приложении.

Дополнительные сведения см. в разделах Настройка обеспечения безопасности ASP.NET и Шифрование сведений о конфигурации с помощью функции защищенной конфигурации.

См. также

Задачи

Пошаговое руководство. Настройка приложений ASP.NET в IIS 6.0 с помощью консоли управления (MMC)

Пошаговое руководство. Настройка приложений ASP.NET в IIS 7.0

Основные понятия

Иерархия и наследование файла конфигурации ASP.NET

Настройка обеспечения безопасности ASP.NET

Другие ресурсы

Конфигурационный интерфейс API ASP.NET

Файлы конфигурации ASP.NET

Оснастка консоли управления Майкрософт для ASP.NET

Средство администрирования веб-узла ASP.NET

Параметры конфигурации ASP.NET

Общие параметры конфигурации (ASP.NET)

Шифрование сведений о конфигурации с помощью функции защищенной конфигурации

Конфигурация ASP.NET и IIS