物理文件是我们最常用到的原始配置载体,而最佳的配置文件格式主要有三种,它们分别是JSON、XML和INI,对应的配置源类型分别是JsonConfigurationSource、XmlConfigurationSource和IniConfigurationSource,它们具有如下一个相同的基类FileConfigurationSource。
一、FileConfigurationSourceFileConfigurationSource总是利用一个IFileProvider对象来读取配置文件,我们可以利用FileProvider属性来设置这个对象。配置文件的路径通过Path属性表示,一般来说这是一个针对IFileProvider对象根目录的相对路径。在读取配置文件的时候,这个路径将会作为参数调用IFileProvider对象的GetFileInfo方法得到描述配置文件的IFileInfo对象,该对象的CreateReadStream方法最终会被调用来读取文件内容。
public abstract class FileConfigurationSource : IConfigurationSource { public IFileProvider FileProvider { get; set; } public string Path { get; set; } public bool Optional { get; set; } public int ReloadDelay { get; set; } public bool ReloadOnChange { get; set; } public Action<FileLoadExceptionContext> OnLoadException { get; set; } public abstract IConfigurationProvider Build(IConfigurationBuilder builder); public void EnsureDefaults(IConfigurationBuilder builder); public void ResolveFileProvider(); }