Во второй части описываются все настроечные параметры ASP.NET, используемые для настройки приложений. Лекция 3 посвящена первым двум разделам настроечных файлов: разделам <configSections> и <appSettings>. Лекция 4 описывает разделы и параметры, непосредственно связанные с ASP.NET, включая разделы и параметры из группы разделов System.Web. Лекция 5 описывает разделы и параметры, относящиеся к Microsoft
В лекции 1 вы уже видели раздел <configSections>, а здесь он описан более подробно. Также приведено описание раздела <appSettings>, используемого для добавления в настроечный файл дополнительных параметров и последующего доступа к этим параметрам из ваших приложений. Вы познакомитесь с разделами, параметрами и значениями для каждого раздела, узнаете, как использовать эти параметры на самых распространенных примерах. В данной лекции охвачены следующие вопросы.
<configSections>. Раздел содержит все объявления обработчиков разделов настроек (о них уже говорилось раньше), но теперь мы познакомимся с различными элементами, которые можно использовать в этом разделе.<appSettings>. Раздел позволяет централизованно хранить различные параметры, а также используется для хранения и возврата строк пары ключ/значение. Вы узнаете, как хранить эти значения и как использовать их в приложении.Раздел <configSections> содержит все объявления обработчиков разделов настроек. Обработчики разделов настроек – это классы .NET, которые интерпретируют параметры и значения, содержащиеся в разделах настроек. В разделе <configSections> можно объявить новый раздел, удалить раздел и даже все объявления разделов.
Первым элементом в разделе <configSections> является <section>. Этот элемент используется для объявления раздела настроек, используемого далее в настроечном файле. Ниже приведен синтаксис элемента <section>.
<section name="SectionName" type="ConfigurationHandler" allowLocation="true | false" allowDefinition="Everywhere | MachineOnly | MachineToApplication" />
Таблица 3.1 содержит список атрибутов элемента <section>.
| Имя атрибута | Значения атрибута |
|---|---|
Name |
string Имя, которое используется для ссылки на данный раздел в настроечном файле. Это любое значение, которое не конфликтует с именем другого раздела, но в большинстве случаев для имени раздела применяется соглашение об именах Паскаля. |
Type |
string Обработчик раздела настроек. Значение должно включать полную информацию о расположении класса в Global Assembly Cache. |
AllowLocation |
true | false Определяет, может ли раздел использоваться в теге location. Значение true означает, что раздел может использоваться в теге location. Значение false означает, что раздел не может использоваться в теге location. |
AllowDefinition |
Everywhere Позволяет разделу использоваться в любом типе настроечного файла. |
MachineOnly Позволяет разделу использоваться только в файле machine.config. |
|
MachineToApplication Позволяет разделу использоваться как в файле machine.config, так и в настроечном файле приложения. |
Вот пример того, как добавлять раздел в настроечный файл.
<section name="runtime" type="System.Configuration. IgnoreSectionHandler, System, Version=1.0.330.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false" />
Здесь вы видите объявление раздела с именем runtime. Имя раздела, равное значению runtime, указано с помощью атрибута name. Атрибут type указывает на обработчик раздела настроек, который будет интерпретировать раздел, – System.Configuration.IgnoreSectionHandler.
Элемент <sectionGroup> объявляет группу разделов и объявления всех включенных в него разделов. Группа разделов – это логическое объединение нескольких разделов. В настроечных файлах каждое настраиваемое пространство имен будет иметь свою собственную группу разделов. Обычно файл machine.config содержит различные группы разделов, включая System.Web и System.Net. Если вы хотите включить для своего пространства имен несколько разделов настроек, то их нужно поместить в группу разделов. Ниже приведен синтаксис для объявления группы разделов.
<sectionGroup name="section group name" > <!-- Section declarations here --> </sectionGroup>
В таблице 3.2 приведены значения атрибутов элемента <sectionGroup>.
| Имя атрибута | Значения атрибута |
|---|---|
Name |
string. |
Следующий пример объявляет группу разделов System.Web и включает объявление раздела <httpRuntime>.
<sectionGroup name="System.Web">
<section name="httpRuntime" type=
"System.Web.Configuration.HttpRuntimeConfigurationHandler,
System.Web, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</sectionGroup>
Далее в настроечном файле вы включите этот раздел в <sectionGroup>.
<system.web>
<httpRuntime executionTimeout="5000" maxRequestLength="4096"
useFullyQualifiedRedirectUrl="false" minFreeThreads="8"
minLocalRequestFreeThreads="4" appRequestQueueLimit="100" />
</system.web>
Для удаления из вашего настроечного файла разделов или групп разделов используется элемент <remove>. Ниже приведен его синтаксис.
<remove name="section or section group name" />
В таблице 3.3 приведены значения атрибута элемента <remove>.
| Имя атрибута | Значения атрибута |
|---|---|
Name |
string. Имя раздела или группы разделов, которую нужно удалить. |
Ниже показано, как нужно удалять объявление раздела, который наследуется из предыдущего настроечного файла.
<configSections> <remove name="httpRuntime" /> </configSections>
В примере удаляется раздел <httpRuntime> из группы <configSections>, что запретит настройку параметров httpRuntime в данном настроечном файле и всех настроечных файлах, наследуемых от него.
Для удаления всех разделов и групп разделов используйте элемент <clear>. Он удаляет все разделы, объявленные до него, и все разделы, объявленные в предыдущих настроечных файлах. Ниже приведен пример использования элемента <clear> в настроечных файлах.
Файл machine.config
<configuration>
<configSections>
<section name="httpRuntime" type=
"System.Web.Configuration.HttpRuntimeConfigurationHandler,
System.Web, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</configSections>
</configuration>
Файл web.config
<configuration>
<configSections>
<clear />
</configSections>
</configuration>
Раздел <httpRuntime> из более раннего настроечного файла теперь не будет доступен.
Хотя раздел <configSections> не часто используется при работе с ASP.NET, очень важно понимать его функцию в архитектуре конфигурации. В части III данный раздел рассмотрен более подробно с точки зрения создания своих собственных разделов и обработчиков разделов.
Раздел <appSettings> позволяет хранить в настроечном файле символьные строки и получать эти значения из любого приложения. Эти строки, или значения, хранятся вместе с ключами, которые используются для получения строки в приложениях. Давайте посмотрим на различные элементы из раздела <appSettings>. В дальнейшем вы встретитесь с атрибутом file, который служит для указания файла XML, содержащего различные элементы <appSettings>.
При наличии строки, к которой требуется доступ из разных файлов приложений, следует добавить ее в раздел <appSettings> своего настроечного файла. Если это значение должно быть доступно всем приложениям вашего сервера, его также можно добавить в файл machine.config. Для добавления значения в коллекцию <appSettings> служит элемент <add> – задайте ключ, идентифицирующий значение в вашей коллекции, и значение, которое вы хотите сохранить. Для добавления элемента <add> используйте следующий синтаксис.
<appSettings> <add key="ourKey" value="ourValue" /> </appSettings>
Атрибуты элемента <add> перечислены в таблице 3.4.
| Имя атрибута | Значения атрибута |
|---|---|
Key |
string. Это |
Value |
string. Это значение, которое вы будете хранить в настроечном файле. |
Данный пример демонстрирует, как добавлять в настроечный файл строку базы данных.
<appSettings>
<add key="ConnString" value="server=192.168.0.12;database=mydb;
UID=myuser;Password=mypassword" />
</appSettings>
Здесь в коллекцию добавлена пара ключ/значение. Ключ называется ConnString, а значением пары является
Тег <remove> используется для удаления из коллекции пары ключ/значение. Вы указываете ключ пары, которую нужно удалить, и указанная пара в этой коллекции становится недоступной. Это полезно, если необходимо удалить параметр, который был добавлен в коллекцию на более высоком уровне. Например, пара ключ/значение, добавленная в файл machine.config, может быть изъята на уровне файла web.config с помощью следующей записи.
<appSettings> <remove key="ourKey" /> </appSettings>
В таблице 3.5 показаны значения атрибута элемента <remove>.
| Имя атрибута | Значения атрибута |
|---|---|
Key |
string. Ключ пары ключ/значение, которую необходимо удалить из коллекции. |
Следующий пример показывает, как удалить строку, добавленную в предыдущем разделе.
<appSettings> <remove key="ConnString" /> </appSettings>
Данная пара ключ/значение будет недоступна этому приложению и любым другим приложениям, наследующим этот файл web.config.
Элемент <clear> используется для полного сброса коллекции <appSettings>. Аналогично элементу <remove>, он служит для удаления различных пар ключ/значение, но при этом удаляет все пары. Ниже приведен пример элемента <clear>.
<appSettings> <clear/> </appSettings>
Добавление этого элемента в раздел <appSettings> полностью очищает его.
Элемент <appSettings> включает только один атрибут – атрибут file. Атрибут file используется для указания файла XML, который содержит элементы <add>, <remove> или <clear>. Этот метод очень похож на включение на стороне сервера, поскольку включает только параметры из файла XML. Для использования атрибута filе установите его значение в теге раздела <appSettings>.
<appSettings file="relative file path" />
В таблице 3.6 показано значение атрибута элемента <appSettings>.
| Имя атрибута | Значения атрибута |
|---|---|
File |
string. <appSettings>. Он является относительным по отношению к корневой папке приложения ASP.NET. Значения по-прежнему могут быть добавлены в раздел <appSettings>, но при возникновении конфликта значения, загруженные из файла, переопределят значения, добавленные в раздел. |
Ниже приведен пример использования атрибута file.
<appSettings file="extrasettings.xml" />
Для использования атрибута file нужно создать файл XML, содержащий различные пары ключ/значение. Ниже приведен пример file.
<?xml version="1.0" encoding="utf-8" ?> <appSettings> <add key="MyKey" value="MyValue" /> <remove key="DatabasePassword" /> </appSettings>
Как вы можете видеть, это небольшой настроечный файл с одним единственным разделом настроек. Дочерние элементы этого раздела рассматриваются так, как если бы они были записаны в файле web.config или machine.config. Это очень эффективная методика, если требуется включить несколько значений в несколько приложений, поскольку можно создать подобный файл и сохранить его в месте, доступном для всех этих приложений.
Теперь давайте рассмотрим, как читать в ASP.NET значения из раздела <appSettings>. Обработчик раздела настроек для раздела <appSettings> делает эти параметры доступными при помощи коллекции имен значений <AppSettings>. Ниже приведен код на VB.NET и C#, который осуществляет доступ к значениям.
VB.NET
Dim sConnString as string ' Создаем строковое значение
' Читаем значение из коллекции
sConnString = Configuration.AppSettings("connString")
Dim oConn as SqlConnection ' Создаем наш объект соединения
' Используем строку для создания соединения
oConn = new SqlConnection(sConnString)
C#
// Сначала читаем значение из коллекции AppSettings string sConnString = Configuration.AppSettings["connString"]; // Затем используем это значение для создания своего соединения SqlConnection oConn = new SqlConnection(sConnString);
Как вы можете видеть, получить доступ к значениям, добавленным в настроечный файл, очень просто – обратитесь к коллекции <AppSettings> и используйте имя, указанное вами в настроечном файле. Раздел <appSettings> облегчает добавление различных значений в настроечный файл. Он особенно ценен при работе со значением, используемым на различных страницах, так как не придется менять его для каждой страницы. Вместо этого вы измените его в настроечном файле – и каждая страница прочтет новое значение.
<configSections>.<remove> и <clear>.<appSettings> и элемент <add>.<remove> и <clear>.Во второй части описываются все настроечные параметры ASP.NET, используемые для настройки приложений. Лекция 3 посвящена первым двум разделам настроечных файлов: разделам <configSections> и <appSettings>. Лекция 4 описывает разделы и параметры, непосредственно связанные с ASP.NET, включая разделы и параметры из группы разделов System.Web. Лекция 5 описывает разделы и параметры, относящиеся к Microsoft
В лекции 1 вы уже видели раздел <configSections>, а здесь он описан более подробно. Также приведено описание раздела <appSettings>, используемого для добавления в настроечный файл дополнительных параметров и последующего доступа к этим параметрам из ваших приложений. Вы познакомитесь с разделами, параметрами и значениями для каждого раздела, узнаете, как использовать эти параметры на самых распространенных примерах. В данной лекции охвачены следующие вопросы.
<configSections>. Раздел содержит все объявления обработчиков разделов настроек (о них уже говорилось раньше), но теперь мы познакомимся с различными элементами, которые можно использовать в этом разделе.<appSettings>. Раздел позволяет централизованно хранить различные параметры, а также используется для хранения и возврата строк пары ключ/значение. Вы узнаете, как хранить эти значения и как использовать их в приложении.Раздел <configSections> содержит все объявления обработчиков разделов настроек. Обработчики разделов настроек – это классы .NET, которые интерпретируют параметры и значения, содержащиеся в разделах настроек. В разделе <configSections> можно объявить новый раздел, удалить раздел и даже все объявления разделов.
Первым элементом в разделе <configSections> является <section>. Этот элемент используется для объявления раздела настроек, используемого далее в настроечном файле. Ниже приведен синтаксис элемента <section>.
<section name="SectionName" type="ConfigurationHandler" allowLocation="true | false" allowDefinition="Everywhere | MachineOnly | MachineToApplication" />
Таблица 3.1 содержит список атрибутов элемента <section>.
| Имя атрибута | Значения атрибута |
|---|---|
Name |
string Имя, которое используется для ссылки на данный раздел в настроечном файле. Это любое значение, которое не конфликтует с именем другого раздела, но в большинстве случаев для имени раздела применяется соглашение об именах Паскаля. |
Type |
string Обработчик раздела настроек. Значение должно включать полную информацию о расположении класса в Global Assembly Cache. |
AllowLocation |
true | false Определяет, может ли раздел использоваться в теге location. Значение true означает, что раздел может использоваться в теге location. Значение false означает, что раздел не может использоваться в теге location. |
AllowDefinition |
Everywhere Позволяет разделу использоваться в любом типе настроечного файла. |
MachineOnly Позволяет разделу использоваться только в файле machine.config. |
|
MachineToApplication Позволяет разделу использоваться как в файле machine.config, так и в настроечном файле приложения. |
Вот пример того, как добавлять раздел в настроечный файл.
<section name="runtime" type="System.Configuration. IgnoreSectionHandler, System, Version=1.0.330.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false" />
Здесь вы видите объявление раздела с именем runtime. Имя раздела, равное значению runtime, указано с помощью атрибута name. Атрибут type указывает на обработчик раздела настроек, который будет интерпретировать раздел, – System.Configuration.IgnoreSectionHandler.
Элемент <sectionGroup> объявляет группу разделов и объявления всех включенных в него разделов. Группа разделов – это логическое объединение нескольких разделов. В настроечных файлах каждое настраиваемое пространство имен будет иметь свою собственную группу разделов. Обычно файл machine.config содержит различные группы разделов, включая System.Web и System.Net. Если вы хотите включить для своего пространства имен несколько разделов настроек, то их нужно поместить в группу разделов. Ниже приведен синтаксис для объявления группы разделов.
<sectionGroup name="section group name" > <!-- Section declarations here --> </sectionGroup>
В таблице 3.2 приведены значения атрибутов элемента <sectionGroup>.
| Имя атрибута | Значения атрибута |
|---|---|
Name |
string. |
Следующий пример объявляет группу разделов System.Web и включает объявление раздела <httpRuntime>.
<sectionGroup name="System.Web">
<section name="httpRuntime" type=
"System.Web.Configuration.HttpRuntimeConfigurationHandler,
System.Web, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</sectionGroup>
Далее в настроечном файле вы включите этот раздел в <sectionGroup>.
<system.web>
<httpRuntime executionTimeout="5000" maxRequestLength="4096"
useFullyQualifiedRedirectUrl="false" minFreeThreads="8"
minLocalRequestFreeThreads="4" appRequestQueueLimit="100" />
</system.web>
Для удаления из вашего настроечного файла разделов или групп разделов используется элемент <remove>. Ниже приведен его синтаксис.
<remove name="section or section group name" />
В таблице 3.3 приведены значения атрибута элемента <remove>.
| Имя атрибута | Значения атрибута |
|---|---|
Name |
string. Имя раздела или группы разделов, которую нужно удалить. |
Ниже показано, как нужно удалять объявление раздела, который наследуется из предыдущего настроечного файла.
<configSections> <remove name="httpRuntime" /> </configSections>
В примере удаляется раздел <httpRuntime> из группы <configSections>, что запретит настройку параметров httpRuntime в данном настроечном файле и всех настроечных файлах, наследуемых от него.
Для удаления всех разделов и групп разделов используйте элемент <clear>. Он удаляет все разделы, объявленные до него, и все разделы, объявленные в предыдущих настроечных файлах. Ниже приведен пример использования элемента <clear> в настроечных файлах.
Файл machine.config
<configuration>
<configSections>
<section name="httpRuntime" type=
"System.Web.Configuration.HttpRuntimeConfigurationHandler,
System.Web, Version=1.0.3300.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</configSections>
</configuration>
Файл web.config
<configuration>
<configSections>
<clear />
</configSections>
</configuration>
Раздел <httpRuntime> из более раннего настроечного файла теперь не будет доступен.
Хотя раздел <configSections> не часто используется при работе с ASP.NET, очень важно понимать его функцию в архитектуре конфигурации. В части III данный раздел рассмотрен более подробно с точки зрения создания своих собственных разделов и обработчиков разделов.
Раздел <appSettings> позволяет хранить в настроечном файле символьные строки и получать эти значения из любого приложения. Эти строки, или значения, хранятся вместе с ключами, которые используются для получения строки в приложениях. Давайте посмотрим на различные элементы из раздела <appSettings>. В дальнейшем вы встретитесь с атрибутом file, который служит для указания файла XML, содержащего различные элементы <appSettings>.
При наличии строки, к которой требуется доступ из разных файлов приложений, следует добавить ее в раздел <appSettings> своего настроечного файла. Если это значение должно быть доступно всем приложениям вашего сервера, его также можно добавить в файл machine.config. Для добавления значения в коллекцию <appSettings> служит элемент <add> – задайте ключ, идентифицирующий значение в вашей коллекции, и значение, которое вы хотите сохранить. Для добавления элемента <add> используйте следующий синтаксис.
<appSettings> <add key="ourKey" value="ourValue" /> </appSettings>
Атрибуты элемента <add> перечислены в таблице 3.4.
| Имя атрибута | Значения атрибута |
|---|---|
Key |
string. Это |
Value |
string. Это значение, которое вы будете хранить в настроечном файле. |
Данный пример демонстрирует, как добавлять в настроечный файл строку базы данных.
<appSettings>
<add key="ConnString" value="server=192.168.0.12;database=mydb;
UID=myuser;Password=mypassword" />
</appSettings>
Здесь в коллекцию добавлена пара ключ/значение. Ключ называется ConnString, а значением пары является
Тег <remove> используется для удаления из коллекции пары ключ/значение. Вы указываете ключ пары, которую нужно удалить, и указанная пара в этой коллекции становится недоступной. Это полезно, если необходимо удалить параметр, который был добавлен в коллекцию на более высоком уровне. Например, пара ключ/значение, добавленная в файл machine.config, может быть изъята на уровне файла web.config с помощью следующей записи.
<appSettings> <remove key="ourKey" /> </appSettings>
В таблице 3.5 показаны значения атрибута элемента <remove>.
| Имя атрибута | Значения атрибута |
|---|---|
Key |
string. Ключ пары ключ/значение, которую необходимо удалить из коллекции. |
Следующий пример показывает, как удалить строку, добавленную в предыдущем разделе.
<appSettings> <remove key="ConnString" /> </appSettings>
Данная пара ключ/значение будет недоступна этому приложению и любым другим приложениям, наследующим этот файл web.config.
Элемент <clear> используется для полного сброса коллекции <appSettings>. Аналогично элементу <remove>, он служит для удаления различных пар ключ/значение, но при этом удаляет все пары. Ниже приведен пример элемента <clear>.
<appSettings> <clear/> </appSettings>
Добавление этого элемента в раздел <appSettings> полностью очищает его.
Элемент <appSettings> включает только один атрибут – атрибут file. Атрибут file используется для указания файла XML, который содержит элементы <add>, <remove> или <clear>. Этот метод очень похож на включение на стороне сервера, поскольку включает только параметры из файла XML. Для использования атрибута filе установите его значение в теге раздела <appSettings>.
<appSettings file="relative file path" />
В таблице 3.6 показано значение атрибута элемента <appSettings>.
| Имя атрибута | Значения атрибута |
|---|---|
File |
string. <appSettings>. Он является относительным по отношению к корневой папке приложения ASP.NET. Значения по-прежнему могут быть добавлены в раздел <appSettings>, но при возникновении конфликта значения, загруженные из файла, переопределят значения, добавленные в раздел. |
Ниже приведен пример использования атрибута file.
<appSettings file="extrasettings.xml" />
Для использования атрибута file нужно создать файл XML, содержащий различные пары ключ/значение. Ниже приведен пример file.
<?xml version="1.0" encoding="utf-8" ?> <appSettings> <add key="MyKey" value="MyValue" /> <remove key="DatabasePassword" /> </appSettings>
Как вы можете видеть, это небольшой настроечный файл с одним единственным разделом настроек. Дочерние элементы этого раздела рассматриваются так, как если бы они были записаны в файле web.config или machine.config. Это очень эффективная методика, если требуется включить несколько значений в несколько приложений, поскольку можно создать подобный файл и сохранить его в месте, доступном для всех этих приложений.
Теперь давайте рассмотрим, как читать в ASP.NET значения из раздела <appSettings>. Обработчик раздела настроек для раздела <appSettings> делает эти параметры доступными при помощи коллекции имен значений <AppSettings>. Ниже приведен код на VB.NET и C#, который осуществляет доступ к значениям.
VB.NET
Dim sConnString as string ' Создаем строковое значение
' Читаем значение из коллекции
sConnString = Configuration.AppSettings("connString")
Dim oConn as SqlConnection ' Создаем наш объект соединения
' Используем строку для создания соединения
oConn = new SqlConnection(sConnString)
C#
// Сначала читаем значение из коллекции AppSettings string sConnString = Configuration.AppSettings["connString"]; // Затем используем это значение для создания своего соединения SqlConnection oConn = new SqlConnection(sConnString);
Как вы можете видеть, получить доступ к значениям, добавленным в настроечный файл, очень просто – обратитесь к коллекции <AppSettings> и используйте имя, указанное вами в настроечном файле. Раздел <appSettings> облегчает добавление различных значений в настроечный файл. Он особенно ценен при работе со значением, используемым на различных страницах, так как не придется менять его для каждой страницы. Вместо этого вы измените его в настроечном файле – и каждая страница прочтет новое значение.
<configSections>.<remove> и <clear>.<appSettings> и элемент <add>.<remove> и <clear>.Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.