首頁 >後端開發 >C++ >如何從 ASP.NET Core 中的 appsettings.json 存取配置值?

如何從 ASP.NET Core 中的 appsettings.json 存取配置值?

Linda Hamilton
Linda Hamilton原創
2025-01-13 15:51:48326瀏覽

How to Access Configuration Values from appsettings.json in ASP.NET Core?

在ASP.NET Core中讀取appsettings.json配置值的方法

概述

在ASP.NET Core中存取儲存在appsettings.json檔案中的配置數據,可以使用配置建構器或選項模式。

使用組態建構器

方法一:使用ConfigurationBuilder.GetValue()

  • 將IConfiguration介面注入到您的類別或控制器中。
  • 使用GetValue方法檢索特定鍵的值,並指定值的類型。

方法二:使用ConfigurationBinder

  • 將ConfigurationBinder實例作為參數加入您的方法。
  • 使用Bind方法將物件綁定到配置值。

使用選項模式

1. 定義配置類別

  • 建立反映您的配置資料結構的C#類別。
  • 這些類別中的每個屬性都應與對應的配置鍵相符。

2. 註冊設定實例

  • 在啟動類別的ConfigureServices方法中,使用services.Configure註冊配置實例。

3. 注入IOptions

  • 將IOptions注入到您的類別或控制器中。
  • 使用Value屬性存取強型別配置物件。

範例

appsettings.json:

<code class="language-json">{
  "ConnectionStrings": {
    "DefaultConnection": "Server=localhost;Database=MyDatabase"
  },
  "AppIdentitySettings": {
    "User": {
      "RequireUniqueEmail": true
    },
    "Password": {
      "RequiredLength": 8
    }
  }
}</code>

Startup.cs:

<code class="language-csharp">public void ConfigureServices(IServiceCollection services)
{
    var connectionStringSection = Configuration.GetSection("ConnectionStrings");
    services.Configure<ConnectionStringSettings>(connectionStringSection);

    var appIdentitySettingsSection = Configuration.GetSection("AppIdentitySettings");
    services.Configure<AppIdentitySettings>(appIdentitySettingsSection);
}</code>

Controller.cs:

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

    public HomeController(IOptions<AppIdentitySettings> appIdentitySettings)
    {
        _appIdentitySettings = appIdentitySettings.Value;
    }

    public IActionResult Index()
    {
        var requiredLength = _appIdentitySettings.Password.RequiredLength;
        // ...
    }
}</code>

請注意,以上程式碼片段中ConnectionStringSettingsAppIdentitySettings需要您自行定義對應的C#類別來符合appsettings.json中的結構。 這兩種方法提供了靈活的方式來存取您的應用程式配置。 選擇哪種方法取決於您的偏好和應用程式的複雜性。

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

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