informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Membaca file konfigurasi khusus adalah kebutuhan umum di .NET Core, terutama jika standarappsettings.json
、appsettings.Development.json
atauappsettings.Production.json
Ketika file konfigurasi tidak cukup untuk memenuhi kebutuhan aplikasi Anda. Berikut adalah langkah-langkah tentang cara mengimplementasikan pembacaan file konfigurasi khusus:
Pertama, buat file konfigurasi khusus di direktori root proyek Anda atau di mana pun Anda mau, misalnya.mycustomsettings.json
。
Selanjutnya, Anda perlu menentukan kelas yang cocok dengan struktur file konfigurasi khusus Anda.hipotesamycustomsettings.json
Isinya adalah sebagai berikut:
- {
- "MyCustomSettings": {
- "Key1": "Value1",
- "Key2": "Value2"
- }
- }
Anda dapat mendefinisikan kelas konfigurasi seperti ini:
- public class MyCustomSettings
- {
- public string Key1 { get; set; }
- public string Key2 { get; set; }
- }
-
- public class MyCustomSettingsOptions
- {
- public MyCustomSettings MyCustomSettings { get; set; }
- }
Startup.cs
Konfigurasikan dan baca konfigurasiada.NET Core
TerapanStartup.cs
file, Anda perlu melakukannyaConfigureServices
Metode untuk menambahkan dukungan untuk file konfigurasi khusus dan menambahkannya ke wadah injeksi ketergantungan.
- public void ConfigureServices(IServiceCollection services)
- {
- // 添加对自定义配置文件的支持
- var builder = new ConfigurationBuilder()
- .SetBasePath(Directory.GetCurrentDirectory())
- .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
- .AddJsonFile("mycustomsettings.json", optional: true, reloadOnChange: true); // 添加自定义配置文件
-
- IConfigurationRoot configuration = builder.Build();
-
- // 绑定配置到MyCustomSettingsOptions类
- services.Configure<MyCustomSettingsOptions>(configuration.GetSection("MyCustomSettings"));
-
- // 其他服务配置...
-
- services.AddControllers();
- // 其他配置...
- }
Sekarang Anda dapat menggunakannya di pengontrol Anda atau layanan lain melalui injeksi ketergantunganMyCustomSettingsOptions
.
- [ApiController]
- [Route("[controller]")]
- public class MyController : ControllerBase
- {
- private readonly MyCustomSettings _myCustomSettings;
-
- public MyController(IOptions<MyCustomSettingsOptions> options)
- {
- _myCustomSettings = options.Value.MyCustomSettings;
- }
-
- [HttpGet]
- public IActionResult Get()
- {
- // 使用_myCustomSettings...
- return Ok($"Key1: {_myCustomSettings.Key1}, Key2: {_myCustomSettings.Key2}");
- }
- }
Dengan mendefinisikan kelas yang cocok dengan struktur file konfigurasi dan kemudianStartup.cs
Konfigurasikan dan baca konfigurasi ini, dan terakhir gunakan konfigurasi ini di bagian lain aplikasi melalui injeksi ketergantungan.