ホームページ >バックエンド開発 >C++ >ASP.NET Core で appsettings.json から構成値にアクセスする方法は?

ASP.NET Core で appsettings.json から構成値にアクセスする方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-13 15:51:48290ブラウズ

How to Access Configuration Values from appsettings.json in ASP.NET Core?

ASP.NET Core で appsettings.json 構成値を読み取る方法

概要

ASP.NET Core の appsettings.json ファイルに保存されている構成データにアクセスするには、構成ビルダー モードまたはオプション モードを使用できます。

構成ビルダーを使用する

方法 1: ConfigurationBuilder.GetValue を使用する()

  • IConfiguration インターフェイスをクラスまたはコントローラーに挿入します。
  • GetValue メソッドを使用して、値の型を指定して特定のキーの値を取得します。

方法 2: ConfigurationBinder を使用する

  • ConfigurationBinder インスタンスをパラメーターとしてメソッドに追加します。
  • オブジェクトを構成値にバインドするには、Bind メソッドを使用します。

オプションモードを使用する

1. 構成クラスを定義します

  • 構成データ構造を反映する C# クラスを作成します。
  • これらのクラスの各プロパティは、対応する構成キーと一致する必要があります。

2. 構成インスタンスを登録します

  • スタートアップ クラスの ConfigureServices メソッドで、services.Configure を使用して構成インスタンスを登録します。

3. IOptions を挿入します

  • IOptions をクラスまたはコントローラーに挿入します。
  • 厳密に型指定された構成オブジェクトにアクセスするには、Value プロパティを使用します。

appsettings.json:

<code class="language-json">{
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Database=MyDatabase"
  },
  "AppIdentitySettings": {
    "User": {
      "RequireUniqueEmail": true
    },
    "Password": {
      "RequiredLength": 8
    }
  }
}</code>

Startup.cs:

<code class="language-csharp">public void ConfigureServices(IServiceCollection services)
{
    var connectionStringSection = Configuration.GetSection("ConnectionStrings");
    services.Configure<ConnectionStringSettings>(connectionStringSection);

    var appIdentitySettingsSection = Configuration.GetSection("AppIdentitySettings");
    services.Configure<AppIdentitySettings>(appIdentitySettingsSection);
}</code>

Controller.cs:

<code class="language-csharp">public class HomeController : Controller
{
    private readonly AppIdentitySettings _appIdentitySettings;

    public HomeController(IOptions<AppIdentitySettings> appIdentitySettings)
    {
        _appIdentitySettings = appIdentitySettings.Value;
    }

    public IActionResult Index()
    {
        var requiredLength = _appIdentitySettings.Password.RequiredLength;
        // ...
    }
}</code>

上記のコード スニペットの ConnectionStringSettingsAppIdentitySettings では、appsettings.json の構造と一致するように対応する C# クラスを定義する必要があることに注意してください。 これら 2 つの方法により、アプリケーション構成にアクセスする柔軟な方法が提供されます。 どの方法を選択するかは、好みとアプリケーションの複雑さによって異なります。

以上がASP.NET Core で appsettings.json から構成値にアクセスする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。