/// <summary> /// Get config file definition by attribute. /// </summary> /// <param name="attribute">Config file Attribute.</param> /// <returns>Config file definition.</returns> public IConfigFileDefinition GetConfigFileDefinitionByAttribute(ConfigFileAttribute attribute) { var configDefinition = new ConfigFileDefinition(); configDefinition.Name = attribute.Name; configDefinition.FilePath = this.BuildConfigFilePath(attribute.FilePath); configDefinition.Format = attribute.Format; return(configDefinition); }
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public override T GetMergedConfig <T>() { ConfigFileAttribute attribute = AttributeHelper.GetConfigAttribute <ConfigFileAttribute>(typeof(T)); if (attribute == null) { ConfigThrowHelper.ThrowConfigException( R.ConfigError_NoConfigAttribute, typeof(T).FullName, typeof(ConfigFileAttribute).FullName); } ConfigSettings configSettings = FrameworkConfig.GetConfig <ConfigSettings>(); string configFilePath = configSettings.GetConfigFilePath <T>(); XmlConfigGetParameter getParameter = new XmlConfigGetParameter(configFilePath, attribute.IncludeSubdirectories); return(GetMergedConfig <T>(getParameter, attribute.RestartAppDomainOnChange)); }
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public override T GetConfig <T>() { ConfigFileAttribute attribute = AttributeHelper.GetConfigAttribute <ConfigFileAttribute>(typeof(T)); if (attribute == null) { ConfigThrowHelper.ThrowConfigException( R.ConfigError_NoConfigAttribute, typeof(T).FullName, typeof(ConfigFileAttribute).FullName); } ConfigSettings configSettings = FrameworkConfig.GetConfig <ConfigSettings>(); string configFilePath = string.Empty; switch (attribute.ConfigPathType) { case ConfigPathType.FullPhysicalPath: { configFilePath = attribute.FileName; } break; case ConfigPathType.ServerPath: if (HttpContext.Current == null) { configFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, attribute.FileName.Replace("~/", "")); break; } configFilePath = HttpContext.Current.Server.MapPath(attribute.FileName); break; default: { configFilePath = configSettings.GetConfigFilePath <T>(); } break; } XmlConfigGetParameter getParameter = new XmlConfigGetParameter(configFilePath, attribute.IncludeSubdirectories); return(GetConfig <T>(getParameter, attribute.RestartAppDomainOnChange)); }