JSON ファイルなどの外部構成ソースは、Web 開発で頻繁に使用されます。 ASP.NET Core は、古いバージョンとは異なり、このデータにアクセスするための堅牢な方法を提供します。このガイドでは、JSON ファイルから AppSettings 値を取得する方法を説明します。
まず、キーと値のペアを使用して Config.json
ファイル (たとえば、appsettings
フォルダー内) を作成します。
<code class="language-json">{ "AppSettings": { "token": "1234" } }</code>
このファイルには、コード内でアクセスする構成データが保存されます。
アプリケーションの Startup.cs
ファイル内で、ConfigurationBuilder
:
<code class="language-csharp">public class Startup { public IConfiguration Configuration { get; } public Startup(IHostingEnvironment env) { var builder = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath) .AddJsonFile("appsettings/Config.json", optional: true, reloadOnChange: true); Configuration = builder.Build(); } // ... rest of your Startup class }</code>
コントローラーでこれらの設定を使用するには、IConfiguration
オブジェクトを挿入します。
<code class="language-csharp">public class HomeController : Controller { private readonly IConfiguration _configuration; public HomeController(IConfiguration configuration) { _configuration = configuration; } public IActionResult Index() { var token = _configuration["AppSettings:token"]; return View(token); } }</code>
キーパス「AppSettings:token」を使用すると、値を簡単に取得できます。
ASP.NET Core 2.0 以降の場合、オプション パターンはより構造化されたアプローチを提供します。
構成を表すクラスを定義します。
<code class="language-csharp">public class AppSettings { public string Token { get; set; } }</code>
Startup.cs
で、IOptions<AppSettings>
オブジェクトを構成して挿入します。
<code class="language-csharp">services.AddOptions<AppSettings>() .Configure<IConfiguration>((settings, configuration) => { configuration.GetSection("AppSettings").Bind(settings); });</code>
次に、コントローラーで次のようにします:
<code class="language-csharp">public class HomeController : Controller { private readonly IOptions<AppSettings> _appSettings; public HomeController(IOptions<AppSettings> appSettings) { _appSettings = appSettings; } public IActionResult Index() { var token = _appSettings.Value.Token; return View(token); } }</code>
この方法では、以前のアプローチと比較して型の安全性が提供され、保守性が向上します。 これは、新しい ASP.NET Core プロジェクトで推奨される方法です。
以上がASP.NET Core で JSON ファイルから AppSettings 値を読み取る方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。