Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengakses Nilai Konfigurasi daripada appettings.json dalam ASP.NET Core?

Bagaimana untuk Mengakses Nilai Konfigurasi daripada appettings.json dalam ASP.NET Core?

Linda Hamilton
Linda Hamiltonasal
2025-01-13 15:51:48287semak imbas

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

Cara membaca nilai konfigurasi appsettings.json dalam Teras ASP.NET

Ikhtisar

Untuk mengakses data konfigurasi yang disimpan dalam fail appettings.json dalam ASP.NET Core, anda boleh menggunakan pembina konfigurasi atau mod pilihan.

Gunakan Pembina Konfigurasi

Kaedah 1: Gunakan ConfigurationBuilder.GetValue()

  • Suntikan antara muka IConfiguration ke dalam kelas atau pengawal anda.
  • Dapatkan nilai kunci tertentu menggunakan kaedah GetValue, menyatakan jenis nilai.

Kaedah 2: Gunakan ConfigurationBinder

  • Tambahkan contoh ConfigurationBinder sebagai parameter pada kaedah anda.
  • Gunakan kaedah Bind untuk mengikat objek pada nilai konfigurasi.

Gunakan mod pilihan

1. Tentukan kelas konfigurasi

  • Buat kelas C# yang mencerminkan struktur data konfigurasi anda.
  • Setiap sifat dalam kelas ini harus sepadan dengan kunci konfigurasi yang sepadan.

2. Daftar contoh konfigurasi

  • Dalam kaedah ConfigureServices kelas permulaan, gunakan services.Configure untuk mendaftarkan contoh konfigurasi.

3. Inject IOptions

  • Suntikan IOptions ke dalam kelas atau pengawal anda.
  • Gunakan sifat Nilai untuk mengakses objek konfigurasi yang ditaip kuat.

Contoh

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>

Pengawal.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>

Sila ambil perhatian bahawa ConnectionStringSettings dan AppIdentitySettings dalam coretan kod di atas memerlukan anda mentakrifkan kelas C# yang sepadan untuk memadankan struktur dalam appsettings.json. Kedua-dua kaedah ini menyediakan cara yang fleksibel untuk mengakses konfigurasi aplikasi anda. Kaedah yang anda pilih bergantung pada pilihan anda dan kerumitan aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Nilai Konfigurasi daripada appettings.json dalam ASP.NET Core?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn