Configuration approaches for ASP.Net core
{
"Status": "FromConfig"
}
Settings stored in appsettings.json will automatically be binded to the Configuration object.
public class MySettings
{
public string Status { get; set; }
} public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
//Add Configuration to IOC container.
services.AddSingleton<IConfiguration>(Configuration);
} [Route("api/[controller]")]
public class ValuesController : Controller
{
private readonly IConfiguration _config;
public ValuesController(IConfiguration config)
{
_config = config;
}
// GET api/values
[HttpGet]
public string Get()
{
return _config.GetValue<string>("Status");
}
} public void ConfigureServices(IServiceCollection services)
{
services.AddOptions();
services.Configure<MySettings>(Configuration);
services.AddMvc();
} [Route("api/[controller]")]
public class ValuesController : Controller
{
private readonly IOptions<MySettings> _options;
public ValuesController(IOptions<MySettings> options)
{
_options = options;
}
// GET api/values
[HttpGet]
public string Get()
{
return _options.Value.Status;
}
} public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
var config = new MySettings();
Configuration.Bind(config);
services.AddSingleton<MySettings>(config);
} [Route("api/[controller]")]
public class ValuesController : Controller
{
private readonly MySettings _settings;
public ValuesController(MySettings settings)
{
_settings = settings;
}
// GET api/values
[HttpGet]
public string Get()
{
return return _settings.Status;
}
}