Tech Junkie Blog - Real World Tutorials, Happy Coding!: Hour 10 ASP.NET Core : Add appSettings.json Configuration Files For Database

Monday, August 5, 2019

Hour 10 ASP.NET Core : Add appSettings.json Configuration Files For Database

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.


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












2 comments:

  1. When I first dove into ASP.NET Core and needed to set up appSettings.json for my database connection, it felt like a big shift from the old web.config days. Balancing this with other tasks became overwhelming. That’s when I discovered take my online exam. They handled the complex setup for me, freeing me to focus on other important aspects of my project. If you’re struggling with similar tech challenges, this service could be a real lifesaver!

    ReplyDelete

Search This Blog