首頁 >後端開發 >C++ >如何從 ASP.NET Core 中的 appsettings.json 檢索值?

如何從 ASP.NET Core 中的 appsettings.json 檢索值?

Patricia Arquette
Patricia Arquette原創
2025-01-13 16:06:47674瀏覽

How Do I Retrieve Values from appsettings.json in ASP.NET Core?

從 ASP.NET Core 中的 appsettings.json 存取設定值

本指南解決了在 ASP.NET Core 應用程式中從 appsettings.json 檢索值的問題。 我們將探討常見方法和故障排除步驟。

設定啟動類別

您的Startup類別需要以下配置:

  1. 注入 IConfiguration: 建構子應該注入 IConfiguration (不是 IConfigurationRoot,已棄用):public Startup(IConfiguration configuration)

  2. 設定服務:ConfigureServices 內,使用 Configuration.GetSection("AppSettings") 設定服務:

    <code class="language-csharp"> services.Configure<AppSettings>(configuration.GetSection("AppSettings"));</code>

定義 AppSettings 模型

建立一個模型類,該模型類反映 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 值進行故障排除

如果 _appSettings 永遠為空,請檢查以下幾點:

  1. 驗證 IConfiguration 注入: 確保 IConfiguration 正確注入到 Startup 建構子中。
  2. 檢查服務配置:仔細檢查ConfigureServices方法以確認「AppSettings」部分的準確綁定。
  3. 確認控制器中的注入: 確保 IOptions<AppSettings> 已正確注入到控制器建構函數中。

替代方法

除了 IOptions 模式之外,請考慮以下替代方案:

  • 直接IConfiguration存取:直接注入IConfiguration並使用Configuration.GetValue<T>("key")存取值。
  • 使用 ConfigurationBinder: 定義強型別模型並將 IConfiguration 實例綁定到它。這提供了類型安全性並提高了可維護性。

結論

按照這些步驟,您應該成功從 appsettings.json 檢索值。 持續存在的問題需要仔細調試並徹底檢查您的配置。

以上是如何從 ASP.NET Core 中的 appsettings.json 檢索值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn