ASP.NET Core 2 – reading custom setting from appsettings.json
Asp.net core 2 released recently and I wanted to port my existing asp.net 1.1 app to 2.0. Updated the NuGet packages and most things remain same, but I noticed the reading app settings are broken (well there were few others too – maybe later.)
Imaging this is your appsettings.json file
{ "Logging": { .................... }, "ConnectionStrings": { ................... }, "AppSettings": { "Secret": "OXOXOXOXOXOXOXOX", "TimeZone": "AUS Eastern Standard Time" } }
Create AppSettings.cs and create properties that represent your app settings
public class AppSettings { public string Secret { get; set; } public string TimeZone { get; set; } }
Use it as below
remember to import the namespace using Microsoft.Extensions.Options;
public class DateExtension { private readonly AppSettings _appSettings; public DateExtension(IOptions<AppSettings> appSettings) { _appSettings = appSettings.Value; } public string GetTimeZone() { return _appSettings.TimeZone; } }
Enjoy Asp.net Core 2.0!!!