.Net tools to use: Nini



http://nini.sourceforge.net/

Nini

 

Description

An uncommonly powerful .NET configuration library.
Use this for reading web.config (instead of .Net built-in System.Configuration…) and any other .ini-file or .xml-file containing configuration.

Difficulty

2 lines to read (usually called at page_load or similar).

Sample usage:

[sourcecode language=”csharp”]
// Set up our config source as web.config or app.config
internal static IConfigSource ConfigRoot =
new Nini.Config.DotNetConfigSource(DotNetConfigSource.GetFullConfigPath());
// Create a config object for section “appSettings”
internal static Nini.Config.IConfig Config = cs.Configs[“appSettings”];

// Read some keys from appSettings section
string mystring = Config.GetString(“SomeKey”, “DefaultValue”);
int myint = Config.GetInt(“SomeKey2”, 10);
int mybool = Config.GetInt(“SomeKey3”, true);
[/sourcecode]

Advantages

  • Automatic type conversion (GetString, GetInt, GetBool, etc).
  • Configuration can be both read and written to.
  • Can read/write to web.config, .ini-files, .xml-files (with hierarcy) and SQL-database.
  • Changing configuration source is easily done by changing a single line. For example moving config from web.config to SQL at a later point in the project is just chaging a single line.
  • Several files can be read and merged into the same instance, so you can split config into many files. So you can read parts from web.config and parts from SQL.
  • This means that configuration can be moved from web.config to a SQL-table at any point with almost no effort.
    Storing config in SQL allows you to keep the files the same configuration between prod and test.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from Tedds blog

Subscribe now to keep reading and get access to the full archive.

Continue reading