One technique I use and posted on the NHUsers mailing list consists in serializing a previously-configured Configuration to the filesystem and deserializing it on all subsequente starts of the application:
Configuration cfg = null;
IFormatter serializer = new BinaryFormatter();
//first time
cfg = new Configuration().Configure();
using (Stream stream = File.OpenWrite("Configuration.serialized"))
{
serializer.Serialize(stream, configuration);
}
//other times
using (Stream stream = File.OpenRead("Configuration.serialized"))
{
cfg = serializer.Deserialize(stream) as Configuration;
}
Check it out for yourselves.
Read more: Development With A Dot