public void LoadModules() { if (HttpRuntime.Cache["MODULES"] == null) { XmlDocument applicationcatalogue = new XmlDocument(); applicationcatalogue.Load(new StreamReader(AppDomain.CurrentDomain.BaseDirectory + "\\applicationmodulecatalogue.xml")); XmlDocument modulecache = new XmlDocument(); List <ModuleParams> moduleparams = new List <ModuleParams>(); string modulepath = string.Empty; foreach (XmlNode app in applicationcatalogue.SelectNodes("ApplicationList/Application")) { if (app.SelectSingleNode("@Enabled").Value == "true") { modulecache.Load(new StreamReader(AppDomain.CurrentDomain.BaseDirectory + app.SelectSingleNode("@ApplicaitonPath").Value + "\\" + app.SelectSingleNode("@ModulePath").Value + "\\Modulecatalogue.xml")); foreach (XmlNode module in modulecache.SelectNodes("ModuleList/Module")) { if (module.SelectSingleNode("@Enabled").Value == "true") { modulepath = "~/" + app.SelectSingleNode("@ApplicaitonPath").Value + "/" + module.SelectSingleNode("@ModulePath").Value + "/" + module.SelectSingleNode("@NameSpace").Value + "/" + module.SelectSingleNode("@FileName").Value; if (this.GetModule(module.SelectSingleNode("@NameSpace").Value) == null) { _modules.Add(new Module(modulepath, module.SelectSingleNode("@NameSpace").Value, null, "")); } _modules.Add(new Module(modulepath, app.SelectSingleNode("@ApplicaitonPath").Value + "." + module.SelectSingleNode("@NameSpace").Value, null, "")); moduleparams = new List <ModuleParams>(); } } modulecache = new XmlDocument(); } } System.Web.Caching.CacheItemRemovedCallback callback = new System.Web.Caching.CacheItemRemovedCallback(OnRemove); HttpRuntime.Cache.Insert("MODULES", _modules, null, DateTime.Now.AddHours(1), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Default, callback); } }
public void LoadModules() { if (HttpRuntime.Cache["MODULES"] == null) { XmlDocument applicationcatalogue = new XmlDocument(); applicationcatalogue.Load(new StreamReader(AppDomain.CurrentDomain.BaseDirectory + "\\applicationmodulecatalogue.xml")); XmlDocument modulecache = new XmlDocument(); List<ModuleParams> moduleparams = new List<ModuleParams>(); string modulepath = string.Empty; foreach (XmlNode app in applicationcatalogue.SelectNodes("ApplicationList/Application")) { if (app.SelectSingleNode("@Enabled").Value == "true") { modulecache.Load(new StreamReader(AppDomain.CurrentDomain.BaseDirectory + app.SelectSingleNode("@ApplicaitonPath").Value + "\\" + app.SelectSingleNode("@ModulePath").Value + "\\Modulecatalogue.xml")); foreach (XmlNode module in modulecache.SelectNodes("ModuleList/Module")) { if (module.SelectSingleNode("@Enabled").Value == "true") { modulepath = "~/" + app.SelectSingleNode("@ApplicaitonPath").Value + "/" + module.SelectSingleNode("@ModulePath").Value + "/" + module.SelectSingleNode("@NameSpace").Value + "/" + module.SelectSingleNode("@FileName").Value; if (this.GetModule(module.SelectSingleNode("@NameSpace").Value)==null){ _modules.Add(new Module(modulepath, module.SelectSingleNode("@NameSpace").Value, null, "")); } _modules.Add(new Module(modulepath, app.SelectSingleNode("@ApplicaitonPath").Value+"."+module.SelectSingleNode("@NameSpace").Value, null, "")); moduleparams = new List<ModuleParams>(); } } modulecache = new XmlDocument(); } } System.Web.Caching.CacheItemRemovedCallback callback = new System.Web.Caching.CacheItemRemovedCallback(OnRemove); HttpRuntime.Cache.Insert("MODULES", _modules, null, DateTime.Now.AddHours(1), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Default, callback); } }