本指南解決了在 ASP.NET Core 應用程式中從 appsettings.json
檢索值的問題。 我們將探討常見方法和故障排除步驟。
您的Startup
類別需要以下配置:
注入 IConfiguration
: 建構子應該注入 IConfiguration
(不是 IConfigurationRoot
,已棄用):public Startup(IConfiguration configuration)
設定服務: 在 ConfigureServices
內,使用 Configuration.GetSection("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
永遠為空,請檢查以下幾點:
IConfiguration
注入: 確保 IConfiguration
正確注入到 Startup
建構子中。 ConfigureServices
方法以確認「AppSettings」部分的準確綁定。 IOptions<AppSettings>
已正確注入到控制器建構函數中。 除了 IOptions
模式之外,請考慮以下替代方案:
IConfiguration
存取:直接注入IConfiguration
並使用Configuration.GetValue<T>("key")
存取值。 ConfigurationBinder
: 定義強型別模型並將 IConfiguration
實例綁定到它。這提供了類型安全性並提高了可維護性。 按照這些步驟,您應該成功從 appsettings.json
檢索值。 持續存在的問題需要仔細調試並徹底檢查您的配置。
以上是如何從 ASP.NET Core 中的 appsettings.json 檢索值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!