Tech Junkie Blog: ASP.NET Core : Add appSettings.json Configuration Files With Microsoft.Extensions.Configuration Library

Tuesday, August 2, 2016

ASP.NET Core : Add appSettings.json Configuration Files With Microsoft.Extensions.Configuration Library

Now that we have most of our static contents taken care of for our application, meaning we did everything we could without a database.  It's time to create our database.  But before we can do that we need a place to store our connection string to the database.  Usually we just store the connection string in the web.config file in our web application.  However, since ASP.NET Core is trying to break free from the old way of doing things, there's a new way to store configuration information which is more flexible the old web.config way.  As usual it also requires more work.

To setup a new .json configuration file perform the following steps:

1.  Create a new file call "appSettings.json"






















2.  Type in the following markup in the appSettings.json file
{
  "AppSettings": {

  },
  "Data": {
    "NorthwindContextConnection": "Server=yourservername;Database=NorthwindCafe;Integrated Security=True;MultipleActiveResultSets=true"
  }

}

The "AppSettings", and "Data" sections are the root section of the configuration.  So if you want to access the "NorthwindContextConnection" you would type ["Data": "NorthwindContextConnection"] you can go as many levels deep as you want.

3.  Now we need to setup the Startup.cs file to recognize the new appSettings.json configuration file
at the top of the Startup class declare a static variable call Configuration

public static IConfigurationRoot Configuration;

The IConfigurationRoot is in the Microsoft.Extensions.Configuration

4.  Now create Startup constructor to add the appSettings.json file, like the code below

        public static IConfigurationRoot Configuration { get; private set; }
        
        public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
              .SetBasePath(env.ContentRootPath)
              .AddJsonFile("appSettings.json")
              .AddEnvironmentVariables();

            Configuration = builder.Build();
        }

The adds the appSettings.json file in the root directory of the application and then builds the key/values information into the Configuration object.

Note:

For the ".SetBasePath" method you will have add the "Microsoft.Extensions.Configuration.FileExtensions" package



For the ".AddJsonFile" method you will have to add the "Microsoft.Extensions.Configuration.Json" package



5.  Now go to the ConfigureServices method and right below the services.AddMvc() method call, type in the following

var connectionString = Startup.Configuration["Data:NorthwindContextConnection"];

The complete method should look like the following:

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();

            var connectionString = Startup.Configuration["Data:NorthwindContextConnection"];

        }

If you put a break point where the connectionString line is you will see that the connection in the appSettings.json file has been retrieved











ASP.NET Core Posts:
  1. How To Create An ASP.NET Core Application From Scratch
  2. ASP.NET Core : Add jQuery, Bootstrap, AngularJS Using bower.json
  3. Enable ASP.NET Core to Serve Static Files
  4. Enable MVC On ASP.NET Core Application
  5. ASP.NET Core : Create Our First Controller and View  
  6. ASP.NET Core : Adding The Default View With _ViewStart.cshtml
  7. ASP.NET Core : Create A Responsive Layout With Bootstrap
  8. ASP.NET Core : Adding Font-Awesome For Northwind Cafe Navigation Icons
  9. ASP.NET Core : Add .json Configuration Files With Microsoft.Extensions.Configuration Library
  10. ASP.NET Core : Entity Framework Core Models For Northwind Cafe
  11. ASP.NET Core : Create The NothwindContext ( EntityFrameworkCore )
  12. ASP.NET Core : Configure project.json File To Support Entity Framework Core
  13. ASP.NET Core : Add NorthwindContext To Startup Class And Create Database
  14. ASP.NET Core: Seeding The NorwindCafe Database
  15. ASP.NET Core: Add Logging To The NorthwindCafe Application

No comments:

Post a Comment