O'Reilly logo

Programming ASP.NET 3.5, 4th Edition by Jesse Liberty, Dan Hurwitz, Dan Maharry

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required