/// <summary>从配置程序集中按规则读取并在应用配置文件目录下生成额外的配置文件 /// </summary> /// <param name="fileName">文件名称,如:log4net.config</param> /// <param name="fileParameters">定义要在文本中替换的文件变量</param> /// <returns></returns> public SystemConfig File(string fileName, IDictionary <string, string> fileParameters) { SystemConfig.RenderFile(this, Assembly.Load(ConfigFilesAssemblyName), ConfigFilesAssemblyName, fileName, fileParameters); return(this); }
/// <summary>从配置程序集中按规则读取并在应用配置文件目录下生成额外的配置文件 /// 使用默认的文件变量 /// </summary> /// <param name="fileName">文件名称,如:log4net.config</param> /// <returns></returns> public SystemConfig File(string fileName) { return(this.File(fileName, SystemConfig.GenerateFileParameters(this))); }
/// <summary>初始化 /// <remarks> /// 最小粒度应用初始化api,包含应用必须条件: /// 应用名称,环境版本,配置文件约定和生成、环境配置、异常体系、上下文服务 /// </remarks> /// </summary> /// <param name="app"></param> /// <returns></returns> public static SystemConfig Configure(string app) { return(SystemConfig.Configure(app, Util.GetEnvironmentVersionFlag().ToString())); }
/// <summary>从现有配置实例初始化 /// </summary> /// <param name="existingConfig"></param> /// <returns></returns> public static SystemConfig Configure(SystemConfig existingConfig) { return(_settings = existingConfig); }
/// <summary>获取生成运行时变量的函数 /// </summary> /// <returns></returns> internal static Func <string, IDictionary <string, object> > GetHowToGenerateRuntimeProperties(SystemConfig config) { return(flag => { //HACK:以下的key的可以在log4net中使用 %property{key} var dict = new Dictionary <string, object>(); dict.Add("appName", config.AppName); dict.Add("versionFlag", config.VersionFlag); dict.Add("host", Environment.MachineName); //仅当错误级别的log才提供的信息 //if (flag == CodeSharp.Core.Configuration.RuntimeProperties_Environment_Error) // dict.Add("httpDump", new HttpDump()); //else // dict.Add("httpDump", ""); return dict; }); }