.NET offers quite an extensive configuration framework in which you can use XML files to configure your applications. The drawback is that most of these files need to be located in the applications directory or sub-directories. Thus excluding reuse throughout different applications. An example of this is using an app.config or web.config file to store all your config information. If you have different applications that use the same base assemblies you can either place them in the GAC or place them in the same application directory as you main applications. Which imply that you need to keep you config settings in sync across multiple files and apps.
You can off course design your own settings-framework to resolve the above issue or use one of the fancy features of Vici Core. Let's get started on how we implement this.
What you need to obtain first is a copy of the latest Vici.Core dll which you can download at http://viciproject.com/wiki/Projects/Mvc/Download (the core has not yet received its own download, so it comes together with the mvc binaries for now, just get it from that download).
After you downoaded Vici.Core.dll, reference it in your project and then let the fun begin. I will include some sample code to show you how simple it is to load your settings in your application
Step 1 - Create your XML file
As you can see there is a version attribute in the XML file to tell the config framework that we updated the XML file and that a new version needs to be updated in the cache.
<?xml version="1.0" encoding="utf-8" ?><Config version="1"> <FileLocation>c:\files\</FileLocation> <TempPath>c:\temp\</TempPath></Config>
Step 2 - Create a POCO to hold your settings
Property names map to the XML nodes in your config file.
public class ConfigSet{ public string FileLocation; public string TempPath;}
Step 3 - Register your POCO with the Vici Core config framework
using Vici.Core.Config; class Program { public static ConfigSet Config; static void Main(string[] args) { // The path to the location of your config file string configFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.xml"); // Register the provider with the xml file ConfigManager.RegisterProvider(new ConfigurationProviderXmlConfig(configFilePath)); // Create a new instance of our POCO Config = new ConfigSet(); // Register our POCO with the framework ConfigManager.Register(Config); // Update our manager to tell it that we registered a new config file ConfigManager.Update(); } }
Step 4 - Use it
/* Your code here*/string filePath = Program.Config.FileLocation;/* More of your code here*/
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Development, Featured