Данная статья ссылается на следующее
пространство имен Microsoft .NET Framework Class Library:
Аннотация
В данной статье содержится информация об
основах структуры приложений в ASP.NET.
За
дополнительной информацией об ASP.NET обращайтесь к следующей
статье Microsoft Knowledge Base:
Дополнительная информация
Настройка включает как
изменение параметров непосредственно самого приложения, таких
как подключение к источникам данных, так и настройку элементов
безопасности и анализ информации об управлении ошибками. Файлы
настройки содержат информацию как о компьютере, так и о
приложении, которую Вы можете изменять без повторной
компиляции кода.
В данной статье рассматриваются
следующие темы:
Настройка: Новые особенности
В отличие от настроек приложений, созданных с помощью
Active Server Pages (ASP) и хранящихся в метабазе Microsoft
Internet Information Server (IIS), настройки приложений,
построенных на технологии ASP.NET, хранятся в файлах
Extensible Markup Language (XML). Это предоставляет следующие
преимущества при изменении настроек и внедрении приложений:
- Файлы настройки ASP.NET хранятся в той же папке, что и
содержимое сайта. Во время внедрения приложения Вам
необходимо будет только скопировать содержимое папки для
получения содержимого сайта и настроек приложения.
- Вы можете использовать стандартные текстовые редакторы
для изменения файлов настройки. Это облегчает процесс
изменения как локальных, так и удаленных настроек.
- Файлы конфигурации могут дополняться, поэтому Вы можете
добавить в них свои собственные настройки.
- Система автоматически определяет изменения в файлах
настройки ASP.NET. Вам не нужно перезапускать службу IIS или
перезагружать веб-сервер для вступления в силу сделанных
изменений.
Форматы файлов и иерархия
настроек
Существует два типа файлов настройки, которые
должны быть связаны с приложениями ASP.NET: Machine.config и
Web.config. Оба эти файла построены с использованием языка XML
и содержат одинаковые разделы настройки. Однако, файл
Machine.config содержит информацию о всех приложениях .NET для
определенной версии рабочего окружения, тогда как файл
Web.config содержит более подробные настройки для приложений
ASP.NET. Информация, содержащаяся в файлах Machine.config и
Web.config, является регистрозависимой.
За
дополнительной информацией о форматах файлов настройки для
приложений ASP.NET обратитесь к документации .NET Framework
Software Development Kit (SDK) по следующему адресу:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconformatofconfigurationfiles.asp
При
выполнении запроса к странице .aspx, файлы настройки
комилируются таким образом, чтобы настройки файла Web.config,
хранящиеся в подпапке, перезаписывают настройки файла
Web.config, хранящегося в папке приложения, которые, в свою
очередь, заменяют настройки веб-сайта, хранящиеся в файле
Machine.config. После компиляции настроек они сохраняются до
тех пор, пока в файлы конфигурации не будут внесены изменения.
В следующей таблице приводится пример расположения
файлов настройки для страницы приложения
http://myserver/myapplication/mydir/mypage.aspx:
| Уровень |
Путь |
| Настройки для данной версии .NET Framework |
Winnt\Microsoft.net\Framework\v. version
\Config\Machine.config |
| Настройки веб-сайта |
Inetpub\Wwwroot\Web.config |
| Настройки приложения |
Inetpub\Wwwroot\Myapplication\Web.config |
| Настройки подпапок |
Inetpub\Wwwroot\Myapplication\Mydir\Web.config
|
Файл Web.config не является
обязательным на всех уровнях, но наличие файла Machine.config
необходимо.
За дополнительной информацией обращайтесь
на следующий веб-сайт Microsoft:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconhierarchicalconfigurationarchitecture.asp
Для
применения настроек к конкретному ресурсу используйте тег
<location> с необходимыми атрибутами. Вы можете
использовать атрибуты для идентификации определенного файла
или дочерней папки, для которых применяются уникальные
настройки.
За дополнительной
информацией о теге <location> обратитесь к документации
.NET Framework Software Development Kit (SDK) по следующему
адресу:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconconfigurationlocationsettings.asp
Параметры настройки ASP.NET
Файлы настройки ASP.NET включают раздел
<system.web>, содежащийся внутри тега
<configuration>:
<configuration>
<appSettings></appSettings>
<system.web>
...
<webServices></webServices>
</system.web>
</configuration>В следующей таблице приводятся
все разделы, содержащиеся в файлах настройки приложений
ASP.NET:
| Раздел |
Описание |
| <appSettings> |
Устанавливаются пользовательские настройки для
приложения. Настройки в данном разделе можно сравнить с
переменными в приложении. |
| <authentication> |
Устанавливается режим аутентификации. |
| <authorization> |
Устанавливается поддержка авторизации и управления
клиентским доступом к ресурсам URL. |
| <browserCaps> |
Устанавливаются настройки для компонентов
обозревателя. |
| <compilation> |
Устанавливаются настройки для компиляции приложений
в ASP.NET |
| <customErrors> |
Содержится информация о пользовательских сообщениях
об ошибках в приложениях ASP.NET. |
| <globalization> |
Настраиваются общие настройки для приложений. |
| <httpHandlers> |
Определяется привязка входящих запросов URL к
классам IHttpHandler. |
| <httpModules> |
Добавляются, удаляются или очищаются модули HTTP
внутри приложения. |
| <httpRuntime> |
Устанавливаются настройки модулей времени исполнения
для HTTP. |
| <identity> |
Устанавливается идентификация веб-приложений. |
| <machineKey> |
Устанавливаются ключи для шифрования и дешифрования
данных при использовании механизма авторизации на основе
форм. Данный раздел позволяет Вам настроить ключ,
который выполняет авторизацию сообщений, проверяя данные
о состоянии просмотра и билеты авторизации на основе
форм. |
| <pages> |
Устанавливаются настройки страницы в приложении.
|
| <processModel> |
Устанавливаются настройки модели процессов ASP.NET
на веб-серверах IIS. Обратите внимание, что Вы можете
использовать данный тег только в файле Machine.config.
|
| <securityPolicy> |
Определяется корректное подключение именованных
уровней безопасности к файлам системных правил. |
| <sessionState> |
Настраивается модуль состояния сеанса. |
| <trace> |
Настраивается служба трассировки ASP.NET. |
| <trust> |
Настраивается набор разрешений на доступ к исходному
коду, используемый при запуске отдельных приложений.
|
| <webServices> |
Настраивается служба Web в ASP.NET Web.
|
Получение информации о
настройках
Вы можете получить информацию, хранящуюся в
файлах настройки, но методы получения данной информации могут
различаться в зависимости от конфигурации системы. Некоторые
настройки могут отображаться в виде свойств встроенных
объектов, а другие настройки недоступны, вследствие того, что
они являются служебными в ASP.NET.
Например, Вы можете
использовать следующий код для доступа к настройке
<browserCaps>, используя объект Request.Browser:
Microsoft
Visual Basic .NET
Response.Write(Request.Browser.VBScript.ToString())
Microsoft
Visual C# .NET Response.Write(Request.Browser.VBScript.ToString());
За
дополнительной информацией о способах получения информации,
хранящейся в файлах настройки, обратитесь к документации .NET
Framework Software Development Kit (SDK) по следующему адресу:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpgrfaccessingaspnetconfigurationsettings.asp
Расширение возможностей
настройки
Функциональность настроек в .NET Framework
является полностью расширяемой. Существует два способа
расширения настроек:
- Создание обработчика настроек в пользовательских
разделах. Для получения дополнительной информации о создании
обработчика настроек в пользовательских разделах обратитесь
к следующей статье Microsoft Knowledge Base:
309045
HOW TO: Create a Custom ASP.NET Configuration Section
Handler in Visual C# .NET
- Для получения дополнительной информации о создании
обработчика настроек в пользовательских разделах обратитесь
к следующей статье Microsoft Knowledge Base: Используйте
раздел <appSettings> для хранения информации,
относящейся к приложению. За дополнительной информацией о
теге <appSettings> обратитесь к документации .NET
Framework Software Development Kit (SDK) по следующему
адресу:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/gngrfappsettingselement.asp
Для
получения значений, хранящихся в разделе
"<appSettings>", воспользуйтесь следующим кодом в
файле .config:
<appSettings>
<add key="MySetting" value="Valuable Information" />
</appSettings>
Затем используйте следующий код
для получения значений. Примечание: Вы должны использовать
пространство имен "System.Configuration" для доступа к
разделу "appSettings":
Visual
Basic Label1.Text = ConfigurationSettings.AppSettings.Item("MySetting")Visual
C# Label1.Text = ConfigurationSettings.AppSettings["MySetting"];