Panduan ini menangani mendapatkan semula nilai daripada appsettings.json
dalam aplikasi Teras ASP.NET anda. Kami akan meneroka kaedah biasa dan langkah penyelesaian masalah.
Kelas Startup
anda memerlukan konfigurasi berikut:
Suntikan IConfiguration
: Pembina harus menyuntik IConfiguration
(bukan IConfigurationRoot
, yang ditamatkan): public Startup(IConfiguration configuration)
Konfigurasikan Perkhidmatan: Dalam ConfigureServices
, gunakan Configuration.GetSection("AppSettings")
untuk mengkonfigurasi objek AppSettings anda:
<code class="language-csharp"> services.Configure<AppSettings>(configuration.GetSection("AppSettings"));</code>
Buat kelas model yang mencerminkan struktur bahagian "AppSettings" anda dalam appsettings.json
:
<code class="language-csharp">public class AppSettings { public string Version { get; set; } }</code>
Suntikan IOptions<AppSettings>
ke dalam pembina pengawal anda:
<code class="language-csharp">public class HomeController : Controller { private readonly AppSettings _appSettings; public HomeController(IOptions<AppSettings> appSettings) { _appSettings = appSettings.Value; } }</code>
Jika _appSettings
secara konsisten batal, semak perkara ini:
IConfiguration
Suntikan: Pastikan IConfiguration
disuntik dengan betul ke dalam Startup
pembina.ConfigureServices
untuk mengesahkan pengikatan tepat bahagian "AppSettings".IOptions<AppSettings>
disuntik dengan betul ke dalam pembina pengawal.Di luar corak IOptions
, pertimbangkan alternatif ini:
IConfiguration
Akses: Suntikan IConfiguration
terus dan akses nilai menggunakan Configuration.GetValue<T>("key")
.ConfigurationBinder
: Tentukan model yang ditaip kuat dan ikat tika IConfiguration
padanya. Ini menawarkan keselamatan jenis dan kebolehselenggaraan yang dipertingkatkan.Dengan mengikuti langkah ini, anda seharusnya berjaya mendapatkan nilai daripada appsettings.json
. Isu berterusan memerlukan penyahpepijatan yang teliti dan semakan menyeluruh terhadap konfigurasi anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Mendapatkan Nilai daripada appettings.json dalam ASP.NET Core?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!