Siva, JP, This approach to add cache configuration at runtime actually works!!! Just tested it:
Assuming initially you have no caches: <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="igniteConfiguration" type="Apache.Ignite.Core.IgniteConfigurationSection, Apache.Ignite.Core" /> </configSections> <igniteConfiguration xmlns=" http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection" gridName="myGrid1" clientMode="true"> <cacheConfiguration> </cacheConfiguration> </igniteConfiguration> <discoverySpi ... /> </configuration> This application adds a dynamic cache at runtime using XML configuration approach instead of code-based approach! class Program { private static Configuration appConfig = ConfigurationManager.OpenExeConfiguration(Environment.GetCommandLineArgs()[0]); static void Main(string[] args) { AddCacheConfiguration("dynamic-cache-1"); using (IIgnite ignite = Ignition.StartFromApplicationConfiguration()) { ignite.GetCache<int, string>("dynamic-cache-1"); } } public static void AddCacheConfiguration(string name) { const string IgniteNS = " http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection"; var appConfigPath = Environment.GetCommandLineArgs()[0] + ".config"; var appConfig = XDocument.Load(appConfigPath); var cachesConfig = appConfig .Element("configuration") .Element(XName.Get("igniteConfiguration", IgniteNS)) .Element(XName.Get("cacheConfiguration", IgniteNS)); var cacheConfig = new XElement(XName.Get("cacheConfiguration", IgniteNS)); cacheConfig.Add(new XAttribute("name", name)); cachesConfig.Add(cacheConfig); appConfig.Save(appConfigPath); } }