首页 > 后端开发 > C++ > 如何从 ASP.NET Core 中的 appsettings.json 检索值?

如何从 ASP.NET Core 中的 appsettings.json 检索值?

Patricia Arquette
发布: 2025-01-13 16:06:47
原创
682 人浏览过

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") 配置您的 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板