protected override void DoConfigure(IConfigSectionNode node) { if (node == null || !node.Exists) { node = App.ConfigRoot[DataAccess.Cache.CacheStore.CONFIG_CACHE_SECTION] .Children .FirstOrDefault(s => s.IsSameName(DataAccess.Cache.CacheStore.CONFIG_STORE_SECTION) && s.IsSameNameAttr(Name)); if (node == null) { node = App.ConfigRoot[DataAccess.Cache.CacheStore.CONFIG_CACHE_SECTION] .Children .FirstOrDefault(s => s.IsSameName(DataAccess.Cache.CacheStore.CONFIG_STORE_SECTION) && !s.AttrByName(Configuration.CONFIG_NAME_ATTR).Exists); if (node == null) { return; } } } ConfigAttribute.Apply(this, node); m_TableOptions = new Registry <TableOptions>(); foreach (var tn in node.Children.Where(cn => cn.IsSameName(DataAccess.Cache.CacheStore.CONFIG_TABLE_SECTION))) { var tbl = new TableOptions(tn); m_TableOptions.Register(tbl); } var dton = node[DEFAULT_TABLE_OPTIONS_SECTION]; if (dton.Exists) { m_DefaultTableOptions = new TableOptions(dton, false); } if (m_Pile.ComponentDirector == this) { m_Pile.Configure(node[DefaultPile.CONFIG_PILE_SECTION]); } }