[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

Hosted by uCoz