Простой обработчик раздела бывает полезен, но иногда возникают ситуации, когда требуется сохранять не только простые значения. Используя собственный обработчик раздела, можно сохранять большое количество параметров в объектах коллекций или возвратить совершенно другой тип объекта. Ниже мы рассмотрим, как использовать один раздел для хранения нескольких групп параметров, а также как использовать эти параметры для предоставления объектов для других классов.
В следующих примерах мы создадим раздел настроек для вымышленного веб-приложения. Это приложение называется DNetReporting; оно создает отчеты на основе различных источников данных, а затем либо печатает эти отчеты, либо передает их по электронной почте. Для хранения нескольких настроечных параметров приложения задействуем разделы настроек, а также обработчики разделов и другие классы. Первый шаг состоит в создании раздела настроек, который включает несколько используемых параметров.
<DNetReporting> <License key="b12gfdt32d2" /> <DataSources> <DataSource name="Employee Database" connstring="" /> <DataSource name="Sales Database" connstring="" /> </DataSources> <Emails> <Email name="James Avery" address="javery@infozerk.com" /> <Email name="Accountants" address="accounts@infozerk.com" /> </Emails> <Printers> <Printer name="IT Printer" localname="HP Deskjet 1200" /> <Printer name="HR Printer" localname="HP Deskjet 4050" /> </Printers> </DNetReporting>
Данный раздел настроек хранит ключ лицензии приложения, все источники данных, адреса электронной почты и принтеры. Следующий шаг заключается в создании записи для этого раздела настроек в разделе <configSections>.
<configSections> <section name="DNetReporting" type="DNetReporting.ConfigHandler, DNetReporting"/> </configSections>