SIGN UP MEMBER LOGIN:    
ARTICLE

Add and handle application settings in the configuration file: Part II

Posted by Bechir Bejaoui Articles | Coding Best Practices April 16, 2008
This article tells you how to add connection string using the configuration file itself.
Reader Level:

Introduction

We demonstrate in the PartI how to add connection strings using the IDE tools, add connection string using the configuration file it self and add a connection string programmatically using the Configuration and the ConfigurationManager classes. Finally, we have seen how to retrieve the connection parameters from the configuration file.

In this article, we will see how to add application settings using the IDE tools, add application settings using the configuration file it self and add application settings programmatically using the Configuration and the ConfigurationManager classes. Finally, we will see how to retrieve the application settings from the configuration file.

The application settings are used to restore application settings, such as file paths, XML Web service URL, application properties values and others. This object is composed by the following elements:
 

Element Description
"add" Adds an application settings to the collection
"clear" Removes all references to inherited application settings, allowing only the application settings that are added by the current add element.
"remove" Removes a reference to inherited application settings from the elements collection.

Add application settings

Add application settings using the IDE

  • Open the project menu and click on the project properties:



Figure 1

The followed window will be opened:



Figure 2

  • Add an application settings name, and set the type by choosing it from the combo box, set the scope witch can be either user or application scope.
  • Save the application settings by right clicking the first tab and choosing save file



Figure 3

Add application settings directly in the configuration file:

The configuration file is located at the same directory as the application one with ".exe.config" as extension and as icon.

  • 1. Open it and add directly application settings, the "intellisense" will help you to do that.





After adding a couple of application settings the configuration file looks like bellow:

<?xml version="1.0" encoding="utf-8" ?><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

<configuration>

  <configSections>

  </configSections>

  <appSettings>

    <add key="setting1" value="value1"/>

    <add key="setting2" value="value2"/>

    <add key="setting3" value="value3"/>

  </appSettings>

</configuration>

Add the application settings programmatically

  • Add this method to your code:

    private static void AddNewSetting()

    {

        /* This code provides access to configuration files using OpenMappedExeConfiguration

        , method. You can use the OpenExeConfiguration method instead. For further informatons

        , consult the MSDN, it gives you more inforamtions about config files access methods*/

        ExeConfigurationFileMap oConfigFile = new ExeConfigurationFileMap();

        oConfigFile.ExeConfigFilename = Application.StartupPath + \\AppConfig.exe.config;

        Configuration oConfiguration = ConfigurationManager.OpenMappedExeConfiguration(oConfigFile, ConfigurationUserLevel.None);

        //Add the setting key and value

        oConfiguration.AppSettings.Settings.Add("setting1", "value1");

     

        //Save the configuration settings

        oConfiguration.Save(ConfigurationSaveMode.Full);

        MessageBox.Show("The setting is saved");

     

        //Restart the application

        Application.Restart();

    }
  • Call the method at the run time, open the configuration file and observe the changes.

    <?xml version="1.0" encoding="utf-8" ?>

    <configuration>

      <configSections>

      </configSections>

      <appSettings file="">

        <clear />

        <add key="setting1" value="value1" />

      </appSettings>

       </configuration>

Retrieve application settings values for use purposes:

  • Add this method to your code

    private static void RetriveAppSettingInfo()

    {

        /* This code provides access to configuration files using OpenMappedExeConfiguration

        , method. You can use the OpenExeConfiguration method instead. For further informatons

        , consult the MSDN, it gives you more inforamtions about config files access methods*/

        ExeConfigurationFileMap oConfigFile = new ExeConfigurationFileMap();

        oConfigFile.ExeConfigFilename = Application.StartupPath + \\AppConfig.exe.config;

       Configuration oConfiguration = ConfigurationManager.OpenMappedExeConfiguration(oConfigFile, ConfigurationUserLevel.None);

     

        //Retrieving the setting1 value from the config file

        try

        {

            string settingValue = oConfiguration.AppSettings.Settings["setting1"].Value;

            MessageBox.Show(settingValue);

        }

        catch (NullReferenceException caught) { MessageBox.Show(caught.Message); }

    }

Call it at the run time

Login to add your contents and source code to this article
share this article :
post comment
 
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor
PREMIUM SPONSORS
  • Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
    Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor