ASP.NET proyek inti dimulai, urutan eksekusi default adalah: Host Host -> Konfigurasi Baca -> Pengaturan Log -> Layanan Pendaftaran (DI) -> Tambahkan Middleware -> WebHost Mendengarkan -> Startup Kerja Latar Belakang.
Pemuatan dan pembacaan konfigurasi berada di awal proses startup. Profil Microsoft di ASP.NET Core:Login hyperlink terlihat.
Resensi:
Host.CreateDefaultBuilder, menyediakan konfigurasi default untuk aplikasi dalam urutan berikut:
- ChainedConfigurationProvider: Tambahkan yang sudah ada sebagai sumber. Dalam contoh konfigurasi default, tambahkan konfigurasi host dan tetapkan sebagai sumber pertama untuk konfigurasi aplikasi.
- Gunakan appsettings.json appsettings.json.
- Gunakan penyedia konfigurasi JSON melalui appsettings: JSON disediakan. Misalnya, appsettings. Production.json dan appsetelan. Development.json。
- Rahasia aplikasi saat aplikasi berjalan di lingkungan.
- Gunakan penyedia konfigurasi variabel lingkungan untuk menyediakan melalui variabel lingkungan.
- Menggunakan penyedia konfigurasi baris perintah disediakan melalui parameter baris perintah.
Kode sumbernya adalah sebagai berikut:
Alamat kode sumber:Login hyperlink terlihat.
Seperti yang Anda lihat dari kode, prioritas konfigurasi akuisisi program adalah:appsettings.json -> appsettings.environment.json -> variabel lingkungan -> argumen baris perintah。 Kami menguji sesuai dengan prioritas.
Buat metode konsol baru untuk mengembalikan semua informasi konfigurasi, kodenya adalah sebagai berikut:
Pertama, appsettings.json file konfigurasi, sebagai berikut:
Pengaturan aplikasi baru. Test.json konfigurasi, sebagai berikut:
Coba mulai proyek dan lihat konfigurasi WebConfig:Name dan WebConfig:Date, seperti yang ditunjukkan pada gambar berikut:
{"kunci":"WebConfig:Nama","Nilai":"itsvse.com"},{"Kunci":"WebConfig:Tanggal","Nilai":"2021"}
Menemukan Properti ->launchSettings.json, ubah konfigurasi lingkungan ASPNETCORE_ENVIRONMENT ke Pengujian, sebagai berikut:
Saat ini, prosedurakan membaca appsettings. Test.json konfigurasi, coba mulai ulang proyek, temukanWebConfig:Name 已经覆盖了, seperti yang ditunjukkan pada gambar di bawah ini:
{"Kunci":"WebConfig:Nama","Nilai":"itsvse.com pengujian"},{"Kunci":"WebConfig:Tanggal","Nilai":"2021"}
Ubah file launchSettings.json lagi dan atur nilai WebConfig:Name melalui variabel lingkungan, kodenya adalah sebagai berikut:
Catatan: Ubah nilai WebConfig:Name untuk variabel lingkungan, nama variabel adalah: WebConfig__Name (Bagian tengah dipisahkan oleh garis bawah ganda)
Coba mulai ulang proyek dan temukan nilai WebConfig:Name,Ini telah ditimpa oleh nilai yang ditetapkan oleh variabel lingkungan, seperti yang ditunjukkan pada gambar di bawah ini:
Coba ubah nilai default melalui baris perintah, dan mulai perintah sebagai berikut:
Seperti yang ditunjukkan di bawah ini:
Uji prioritas kunci konfigurasi dengan latihan, dan hanya itu.
|