public static IConfigurationSourceRoot AddFile([NotNull] this IConfigurationSourceRoot configuration, [NotNull] string path, [NotNull] string extension = "") { if (!File.Exists(path)) { return(configuration); } if (string.IsNullOrEmpty(extension)) { extension = Path.GetExtension(path); } switch (extension.ToLowerInvariant()) { case ".ini": configuration.AddIniFile(path); break; case ".json": case ".js": case ".user": configuration.AddJsonFile(path); break; } return(configuration); }
public static IConfigurationSourceRoot AddJsonFile([NotNull] this IConfigurationSourceRoot configuration, [NotNull] string path, bool optional) { if (string.IsNullOrEmpty(path)) { throw new ArgumentException(Json.Resources.Error_InvalidFilePath, nameof(path)); } var s = JsonPathResolver.ResolveAppRelativePath(path); if (!optional && !File.Exists(s)) { throw new FileNotFoundException(Json.Resources.Error_FileNotFound, s); } configuration.Add(new JsonConfigurationSource(path, optional)); return(configuration); }
IEnumerable <ShellSettings> IShellSettingsManager.LoadSettings() { var filePaths = _appDataFolder .ListDirectories("Sites") .SelectMany(path => _appDataFolder.ListFiles(path)) .Where(path => { var filePathName = Path.GetFileName(path); return(_settingFileNameExtensions.Any(p => string.Equals(filePathName, string.Format(_settingsFileNameFormat, p), StringComparison.OrdinalIgnoreCase) )); }); List <ShellSettings> shellSettings = new List <ShellSettings>(); foreach (var filePath in filePaths) { IConfigurationSourceRoot configurationContainer = null; var extension = Path.GetExtension(filePath); switch (extension) { case ".json": configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration() .AddJsonFile(filePath); break; case ".xml": configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration() .AddXmlFile(filePath); break; case ".ini": configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration() .AddIniFile(filePath); break; case ".txt": configurationContainer = new Microsoft.Framework.ConfigurationModel.Configuration() .Add(new DefaultFileConfigurationSource(_appDataFolder, filePath)); break; } if (configurationContainer != null) { var shellSetting = new ShellSettings { Name = configurationContainer.Get <string>("Name"), DataConnectionString = configurationContainer.Get <string>("DataConnectionString"), DataProvider = configurationContainer.Get <string>("DataProvider"), DataTablePrefix = configurationContainer.Get <string>("DataTablePrefix"), RequestUrlHost = configurationContainer.Get <string>("RequestUrlHost"), RequestUrlPrefix = configurationContainer.Get <string>("RequestUrlPrefix") }; TenantState state; shellSetting.State = Enum.TryParse(configurationContainer.Get <string>("State"), true, out state) ? state : TenantState.Uninitialized; shellSettings.Add(shellSetting); } } return(shellSettings); }
public static IConfigurationSourceRoot AddJsonFile([NotNull] this IConfigurationSourceRoot configuration, [NotNull] string path) { return(configuration.AddJsonFile(path, false)); }
public virtual void AddCommandLine([NotNull] IConfigurationSourceRoot configurationSourceRoot, [NotNull, ItemNotNull] IEnumerable <string> commandLineArgs) { var args = configurationSourceRoot.GetCommandLine(commandLineArgs); configurationSourceRoot.AddCommandLine(args.ToArray()); }
public static IConfigurationSourceRoot AddEnvironmentVariables([NotNull] this IConfigurationSourceRoot configuration, [NotNull] string prefix) { configuration.Add(new EnvironmentVariablesConfigurationSource(prefix)); return(configuration); }
public static IConfigurationSourceRoot AddCommandLine([NotNull] this IConfigurationSourceRoot configuration, string[] args, IDictionary <string, string> switchMappings) { configuration.Add(new CommandLineConfigurationSource(args, switchMappings)); return(configuration); }
public static IConfigurationSourceRoot AddCommandLine([NotNull] this IConfigurationSourceRoot configuration, string[] args) { configuration.Add(new CommandLineConfigurationSource(args)); return(configuration); }