This post is based on a setup of an asp.net core application. Configuration is read in the Startup class upon the Application startup. The Configure method in this class calls the ApiBootstrapper to check whether the connection string for Dev or Production is required.
This can be further used to call the Stored Procedures or query tables using ADO.Net.
Appsettings.json file is the asp.net core config file. This file contains the Connection Strings is as shown below:
{
"configSetting": {
"ConnectionStrings": {
"ProdConnection": "Data Source=ServerName;Initial Catalog=DBProd;UID=username;PWD=password;",
"DevConnection": "Data Source=ServerName;Initial Catalog=DBDev;UID=username;PWD=password;"
},
"Parameters": {
"IsProduction": true
"IsDev": false
}
}
}
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
////
ApiBootstrapper.Initialize(Configuration);
}
}
Below is the code for ApiBootstrapper class:
public class ApiBootstrapper
{
public static void Initialize(IConfiguration configuration)
{
CommonUtil.IsProduction = configuration.GetSection(ConfigKeys.configSetting.ToString()).GetSection(ConfigKeys.Log.ToString()).Value.ToString();
if (Convert.ToBoolean(CommonUtil.IsProduction))
{
CommonUtil.ConnectionString = configuration.GetSection("configSetting").GetSection("ConnectionStrings").GetSection("ProdConnection").Value.ToString();
}
}
}
The above example shows how we can store Connection Strings for different environments like Dev and Prod and read it based on Config file settings.