/// <summary> /// Constructor that accepts Stream, for .NET Core/PCL/Universal apps /// </summary> /// <param name="configContents">Raw XML from Web.config, AppSettings.config and ConnectionStrings.config</param> /// <param name="configPathFile">File containing app settings and connection strings</param> public ConfigurationManagerSafe(Stream configContents, string configPathFile) : this() { XDocument xdoc = configContents.ToXDocument(); AppSettings = new AppSettingList(xdoc, configPathFile); ConnectionStrings = new ConnectionStringList(xdoc, configPathFile); }
/// <summary> /// Constructor that accepts AppSettings and ConnectionStrings XML data in string form /// Usage: From the Application project, 1. Read .config XML from filesystem, 2. Pass xml into constructor as strings /// - .NET Core: /// var configManager = new ConfigurationManagerSafe(System.Configuration.ConfigurationManager.AppSettings, /// System.Configuration.ConfigurationManager.ConnectionStrings); /// - .NET 4.x Full: /// var configManager = new ConfigurationManagerSafe(System.Configuration.ConfigurationManager.AppSettings, /// System.Configuration.ConfigurationManager.ConnectionStrings); /// - Desktop and UWP: /// var localFolder = Windows.ApplicationModel.Package.Current.InstalledLocation; /// localFolder = await localFolder.GetFolderAsync("App_Data"); /// var appSettingsFile = await localFolder.GetFileAsync("AppSettings.config"); /// var connectStringsFile = await localFolder.GetFileAsync("ConnectionStrings.config"); /// var configManager = new ConfigurationManagerSafe(appSettingsXml, connectStringsXml); /// - UWP: /// var appSettingsXml = await Windows.Storage.FileIO.ReadTextAsync(appSettingsFile); /// var connectStringsXml = await Windows.Storage.FileIO.ReadTextAsync(connectStringsFile); /// </summary> /// <param name="appSettings">Raw XML from AppSettings.config</param> /// <param name="appSettingsPathFile">Path\File containing AppSettings</param> /// <param name="connectionStrings">Raw XML from ConnectionStrings.config</param> /// <param name="connectionStringsPathFile">Path\File containing ConnectionStrings</param> public ConfigurationManagerSafe(XDocument appSettings, string appSettingsPathFile, XDocument connectionStrings, string connectionStringsPathFile) : this() { AppSettings = new AppSettingList(appSettings, appSettingsPathFile); ConnectionStrings = new ConnectionStringList(connectionStrings, connectionStringsPathFile); }