ホームページ > バックエンド開発 > C++ > .NET Core で appsettings.json 値にアクセスする方法: シンプル パターンとオプション パターン?

.NET Core で appsettings.json 値にアクセスする方法: シンプル パターンとオプション パターン?

DDD
リリース: 2025-01-13 16:15:42
オリジナル
863 人が閲覧しました

How to Access appsettings.json Values in .NET Core: Simple vs. Options Pattern?

appsettings.json から構成値を取得することは、.NET Core 開発の基本的な側面です。 このガイドでは、直接的なアプローチとより構造化されたオプション パターンの 2 つの方法を説明します。

方法 1: IConfiguration

による直接アクセス

このメソッドは、IConfiguration インターフェースを直接挿入し、GetValue<T> を使用して設定を取得します。 例:

<code class="language-csharp">public class MyController : Controller
{
    private readonly IConfiguration _config;

    public MyController(IConfiguration config)
    {
        _config = config;
    }

    public IActionResult Index()
    {
        string mySetting = _config.GetValue<string>("MySetting");
        return View();
    }
}</code>
ログイン後にコピー

方法 2: オプション パターン

オプション パターンは、より組織化されたアプローチを提供します。 設定構造をミラーリングするクラスを定義し、Configure を使用してそれを appsettings.json 内のセクションにマップします。

<code class="language-csharp">public class MySettings
{
    public string MySetting { get; set; }
}

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.Configure<MySettings>(Configuration.GetSection("MySettings"));
    }
}</code>
ログイン後にコピー

その後、IOptions<MySettings>:

経由で注入が行われます。
<code class="language-csharp">public class MyController : Controller
{
    private readonly IOptions<MySettings> _mySettings;

    public MyController(IOptions<MySettings> mySettings)
    {
        _mySettings = mySettings;
    }

    public IActionResult Index()
    {
        string mySetting = _mySettings.Value.MySetting;
        return View();
    }
}</code>
ログイン後にコピー

オプション パターンは、特に複雑な構成構造のコード構成と保守性を向上させます。 プロジェクトの複雑さと保守性のニーズに最も適した方法を選択してください。

以上が.NET Core で appsettings.json 値にアクセスする方法: シンプル パターンとオプション パターン?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート