Custom Configuration Sections

In addition to all the predefined configuration sections, you can also add your own custom configuration sections. You might wish to add two different types of custom configuration sections:

  • Sections that provide access to a collection of name/value pairs, similar to appSettings

  • Sections that return any type of object

We will demonstrate both here.

Name/Value Pairs

Earlier in this chapter, you saw how to add an <appSettings> element to store strings containing an ISBN number and a title. Suppose you wanted to store connection strings for multiple databases—say, one called Test (for testing purposes) and one called Content (to hold the production content). Using a custom configuration section for each database is one way to handle this situation, the code for which is shown in Example 18-14.

Example 18-14. Custom sections in web.config

<configSections>
   <section name="altDB"
            type="System.Configuration.DictionarySectionHandler,
                  System, Version=2.0.0.0, Culture=neutral,
                  PublicKeyToken=b77a5c561934e089" />
</configSections>

<altDB>
   <add key="Test"
      value="SERVER=(local)\sql2k5;DATABASE=Test;UID=sa;PWD=secret;" />
   <add key="Content"
      value="SERVER=(local)\sql2k5;DATABASE=Content;UID=sa;PWD=secret;" />
</altDB>

There are three steps to adding a custom configuration section that returns a name/value pair:

  1. Determine which specific configuration file to which to add the custom section. This will determine the scope, or visibility, of the custom section, as described ...

Get Programming ASP.NET 3.5, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.