設定ファイルの値を取得する
設定ファイルの内容をControllerで使う方法が分からなかったので調べてみました。
config.json
{ "Data": { "DefaultConnection": { "ConnectionString": "test" } } }
Startup.cs
public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv) { var builder = new ConfigurationBuilder(appEnv.ApplicationBasePath) .AddJsonFile("config.json") .AddJsonFile($"config.{env.EnvironmentName}.json", optional: true); builder.AddEnvironmentVariables(); Configuration = builder.Build(); } public IConfiguration Configuration { get; set; } // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.Configure<Config>(Configuration); }
Config.cs
public class Config { public Data Data { get; set; } }
Data.cs
public class Data { public DefaultConnection DefaultConnection { get; set; } }
DefaultConnection.cs
public class DefaultConnection { public string ConnectionString { get; set; } }
HomeController.cs
public class HomeController : Controller { private Config _config; public HomeController(IOptions<Config> config) { _config = config.Options; } }