首页 > 后端开发 > C++ > 如何从 ASP.NET Core 中的 JSON 文件读取 AppSettings 值?

如何从 ASP.NET Core 中的 JSON 文件读取 AppSettings 值?

Mary-Kate Olsen
发布: 2025-01-23 04:35:16
原创
158 人浏览过

How to Read AppSettings Values from a JSON File in ASP.NET Core?

在 ASP.NET Core 中从 JSON 访问配置数据:实用指南

外部配置源,例如 JSON 文件,在 Web 开发中经常使用。 与旧版本不同,ASP.NET Core 提供了访问此数据的强大方法。本指南演示如何从 JSON 文件检索 AppSettings 值。

设置配置文件

首先,使用您的键值对创建一个 Config.json 文件(例如,在 appsettings 文件夹中):

<code class="language-json">{
  "AppSettings": {
    "token": "1234"
  }
}</code>
登录后复制

此文件存储您将在代码中访问的配置数据。

将 JSON 配置集成到您的应用程序中

在应用程序的 Startup.cs 文件中,配置 ConfigurationBuilder:

<code class="language-csharp">public class Startup
{
    public IConfiguration Configuration { get; }

    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("appsettings/Config.json", optional: true, reloadOnChange: true);

        Configuration = builder.Build();
    }
    // ... rest of your Startup class
}</code>
登录后复制

通过依赖注入访问控制器中的配置

要在控制器中使用这些设置,请注入 IConfiguration 对象:

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

    public HomeController(IConfiguration configuration)
    {
        _configuration = configuration;
    }

    public IActionResult Index()
    {
        var token = _configuration["AppSettings:token"];
        return View(token);
    }
}</code>
登录后复制

使用键路径“AppSettings:token”检索值非常简单。

增强方法:选项模式(推荐用于 ASP.NET Core 2.0)

对于 ASP.NET Core 2.0 及更高版本,选项模式提供了一种更加结构化的方法。

定义一个代表您的配置的类:

<code class="language-csharp">public class AppSettings
{
    public string Token { get; set; }
}</code>
登录后复制

Startup.cs中,配置并注入IOptions<AppSettings>对象:

<code class="language-csharp">services.AddOptions<AppSettings>()
    .Configure<IConfiguration>((settings, configuration) =>
    {
        configuration.GetSection("AppSettings").Bind(settings);
    });</code>
登录后复制

现在,在你的控制器中:

<code class="language-csharp">public class HomeController : Controller
{
    private readonly IOptions<AppSettings> _appSettings;

    public HomeController(IOptions<AppSettings> appSettings)
    {
        _appSettings = appSettings;
    }

    public IActionResult Index()
    {
        var token = _appSettings.Value.Token;
        return View(token);
    }
}</code>
登录后复制

与之前的方法相比,此方法提供了类型安全性并提高了可维护性。 这是较新的 ASP.NET Core 项目的首选方法。

以上是如何从 ASP.NET Core 中的 JSON 文件读取 AppSettings 值?的详细内容。更多信息请关注PHP中文网其他相关文章!

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