このガイドでは、ASP.NET Core アプリケーション内の appsettings.json
からの値の取得について説明します。 一般的な方法とトラブルシューティングの手順について説明します。
Startup
クラスには次の構成が必要です:
Inject IConfiguration
: コンストラクターは IConfiguration
を注入する必要があります (非推奨の IConfigurationRoot
ではありません): public Startup(IConfiguration configuration)
サービスの構成: ConfigureServices
内で、Configuration.GetSection("AppSettings")
を使用して AppSettings オブジェクトを構成します:
<code class="language-csharp"> services.Configure<AppSettings>(configuration.GetSection("AppSettings"));</code>
appsettings.json
の "AppSettings" セクションの構造をミラーリングするモデル クラスを作成します:
<code class="language-csharp">public class AppSettings { public string Version { get; set; } }</code>
IOptions<AppSettings>
をコントローラーのコンストラクターに挿入します:
<code class="language-csharp">public class HomeController : Controller { private readonly AppSettings _appSettings; public HomeController(IOptions<AppSettings> appSettings) { _appSettings = appSettings.Value; } }</code>
_appSettings
が常に null である場合は、次の点を確認してください:
IConfiguration
注入の検証: IConfiguration
が Startup
コンストラクターに正しく注入されていることを確認します。ConfigureServices
メソッドを再確認して、「AppSettings」セクションのバインドが正確であることを確認します。IOptions<AppSettings>
がコントローラー コンストラクターに適切に挿入されていることを確認します。IOptions
パターンを超えて、次の代替案を検討してください。
IConfiguration
アクセス: IConfiguration
を直接挿入し、Configuration.GetValue<T>("key")
を使用して値にアクセスします。ConfigurationBinder
の使用: 厳密に型指定されたモデルを定義し、それに IConfiguration
インスタンスをバインドします。これにより、型の安全性と保守性の向上が実現します。これらの手順に従うと、appsettings.json
から値を正常に取得できるはずです。 問題が解決しない場合は、慎重なデバッグと構成の徹底的なレビューが必要です。
以上がASP.NET Core で appsettings.json から値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。