-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAppConfigProvider.cs
More file actions
42 lines (35 loc) · 1.5 KB
/
Copy pathAppConfigProvider.cs
File metadata and controls
42 lines (35 loc) · 1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System.Configuration;
using Microsoft.Extensions.Configuration;
using ConfigurationManager = System.Configuration.ConfigurationManager;
namespace Configuration.AppConfig
{
/// <summary>
/// The Legacy App.config provider.
/// Providing just the simple appSettings, connectionStrings so far.
/// </summary>
public class AppConfigProvider : ConfigurationProvider
{
public const string DefaultAppSettings = "appSettings";
public const string DefaultConnectionStrings = "connectionStrings";
public readonly string AppSettingsSectionPefix;
public readonly string ConnectionStringsSectionPrefix;
public AppConfigProvider(
string appSettingsPresentedAs = DefaultAppSettings,
string connectionStringsPresentedAs = DefaultConnectionStrings)
{
AppSettingsSectionPefix = appSettingsPresentedAs + ":";
ConnectionStringsSectionPrefix = connectionStringsPresentedAs + ":";
}
public override void Load()
{
foreach (var settingKey in ConfigurationManager.AppSettings.AllKeys)
{
Data.Add(AppSettingsSectionPefix + settingKey, ConfigurationManager.AppSettings[settingKey]);
}
foreach (ConnectionStringSettings connectionString in ConfigurationManager.ConnectionStrings)
{
Data.Add(ConnectionStringsSectionPrefix + connectionString.Name, connectionString.ConnectionString);
}
}
}
}