Configuration and appsettings.json
Learn how configuration works in ASP.NET Core and how to use appsettings.json
to manage important application settings such as database connections, environment settings,
and custom configuration values.
Part 1: What Is Configuration?
Configuration refers to the settings that control how your application behaves. Instead of hardcoding values directly into your code, ASP.NET Core encourages storing these values in configuration files.
This makes your application more flexible and easier to maintain.
Part 2: Why Use appsettings.json?
appsettings.json is the default configuration file in ASP.NET Core.
It stores key application settings in a structured JSON format.
Using this file allows you to:
- Separate configuration from code
- Change settings without modifying source files
- Manage environment-specific configurations
- Keep your application organized
Part 3: Example appsettings.json File
A typical appsettings.json file may look like this:
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=StudentDb;Trusted_Connection=True;"
},
"Logging": {
"LogLevel": {
"Default": "Information"
}
},
"AppSettings": {
"SiteTitle": "Student Management System"
}
}
This file stores connection strings, logging settings, and custom configuration values.
Part 4: Reading Configuration Values
ASP.NET Core allows you to read configuration values using dependency injection.
public HomeController(IConfiguration config)
{
_config = config;
}
var title = _config["AppSettings:SiteTitle"];
This retrieves the value from the configuration file.
Part 5: Connection Strings
One of the most important uses of appsettings.json is storing database connection strings.
These values are then used when configuring services such as Entity Framework Core.
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
This keeps sensitive connection details out of your application code.
Part 6: Environment-Specific Settings
ASP.NET Core supports different configuration files for different environments.
appsettings.Development.jsonappsettings.Production.json
This allows you to use different settings for development and production, such as different databases or logging levels.
Part 7: Configuration in the Student Project
In your Student CRUD application, configuration plays an important role:
- Store database connection strings
- Control logging behavior
- Define application settings such as titles or limits
- Manage environment-specific differences
This keeps your application clean and adaptable.
Part 8: Best Practices
- Do not hardcode configuration values in code
- Use appsettings.json for structured configuration
- Separate development and production settings
- Keep sensitive information secure
- Use clear and meaningful configuration keys
Good configuration management makes your application easier to maintain and deploy.
Summary
Configuration is a key part of ASP.NET Core applications.
By using appsettings.json, you can manage settings cleanly,
separate them from code, and make your application more flexible and scalable.