Cinchoo – Configuration framework, part 9

Using ChoRegistryConfigStorage

Download sample source files (Require .NET 4.0 / Visual Studio 2010)

In this section, I’ll go over the details of using ChoRegistryConfigStorage in your application. It’s a custom configuration section handler enables application to read and write application settings from Windows System Registry.

1. Define the configuration section object decorated with ChoRegistryConfigurationSectionAttribute as below.

[ChoRegistryConfigurationSection("sample", "HKLM/Software/Sample")]
public class SampleConfigSection : ChoConfigurableObject
	#region Instance Data Members (Public)

	[ChoPropertyInfo("name", DefaultValue="Mark")]
	public string Name;

	[ChoPropertyInfo("message", DefaultValue="Hello World!")]
	public string Message;


	void OnAfterConfigurationObjectLoaded(object sender, ChoConfigurationObjectEventArgs e)

2. Instantiate and use it as below.

class Program
	static void Main(string[] args)
		SampleConfigSection sampleConfigSection = new SampleConfigSection();

The configuration section will be generated automatically for the first time in HelloWorld.exe.xml as below.

<?xml version="1.0" encoding="utf-8"?>
  <sample cinchoo:registryKey="HKLM\Software\sample" xmlns:cinchoo="" />
    <section name="sample" type="Cinchoo.Core.Configuration.ChoDictionarySectionHandler, Cinchoo.Core, Version=, Culture=neutral, PublicKeyToken=b7dacd80ff3e33de" />

Also the corresponding registry entries are created automatically if not exists as below

Please visit the CodeProject article below for more detailed information about this storage.

Cinchoo – Using Windows registry as configuration source

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s