[ConfigurationProperty("pollTimeout",
IsRequired = true)]
public TimeSpan PollTimeout
{
get { return (TimeSpan)base["pollTimeout"]; }
set { base["pollTimeout"] = value; }
}
[ConfigurationProperty("location",
IsRequired = true)]
public string Location
{
get { return (string)base["location"]; }
set { base["location"] = value; }
}
}
Обычно вы будете помещать этот класс и класс обработчика раздела в отдельную DLL-библиотеку сборки. Затем вы должны будете скопировать скомпилированную сборку в каталог Bin Web-приложения, в котором вы хотите иепользовать его, добавляя ссылку в Visual Studio. Однако более быстрый подход предполагает добавление этого класса в файл исходного кода, расположенный в подкаталоге App_Code.
На заметку! Повторное использование компонентов рассматривается ниже в этой главе в разделе "Компоненты .NET". А сейчас вы можете использовать более быстрый подход с использованием App_Code, вместо того чтобы создавать полный, отдельно скомпилированный компонент.
ASP.NET использует специальные классы, называемые обработчиками разделов, для обработки информации в конфигурационном файле. В предыдущих версиях ASP.NET вам приходилось создавать вручную свои собственные обработчики разделов. В ASP.NET 2.0 WebConfigurationManager имеет встроенные интеллектуальные средства для разбора раздела XML конфигурационного файла и десериализации его в соответствующий специальный класс SectionHandler.
Далее показан пример, который извлекает ваши специальные параметры настройки конфигурации и отображает их на странице:
Configuration config =
System.Web.Configuration.WebConfigurationManager.
OpenWebConfiguration(Request.ApplicationPath);
OrderService custSection = (OrderService)config.GetSection("orderService");
lblInfo.Text += "Retrieved service information...<br />" +
"<b>Location:</b> " + custSection.Location +
"<br /><b>Available:</b> " + custSection.Available.ToString() +
"<br /><b>Timeout:</b> " + custSection.PollTimeout.ToString() + "<br /><br />";
На рис. 5.7 можно видеть отображенные данные.
предыдущая следующая страница оглавление
231