Teknologian jakaminen

.Net core toteuttaa mukautettujen asetustiedostojen lukemisen

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Mukautettujen määritystiedostojen lukeminen on yleinen tarve .NET Coressa, varsinkin kun se on vakioappsettings.jsonappsettings.Development.jsontaiappsettings.Production.json Kun määritystiedosto ei riitä täyttämään sovellustarpeitasi. Tässä on ohjeet mukautetun määritystiedoston lukemiseen:

1. Luo mukautettu määritystiedosto

Luo ensin mukautettu asetustiedosto projektisi juurihakemistoon tai minne tahansa parhaaksi katsomallasi tavalla, esim.mycustomsettings.json

2. Määritä kokoonpanoluokka

Seuraavaksi sinun on määritettävä luokka, joka vastaa mukautetun määritystiedoston rakennetta.hypoteesimycustomsettings.jsonSisältö on seuraava:

  1. {
  2. "MyCustomSettings": {
  3. "Key1": "Value1",
  4. "Key2": "Value2"
  5. }
  6. }

Voit määrittää kokoonpanoluokan seuraavasti:

  1. public class MyCustomSettings
  2. {
  3. public string Key1 { get; set; }
  4. public string Key2 { get; set; }
  5. }
  6. public class MyCustomSettingsOptions
  7. {
  8. public MyCustomSettings MyCustomSettings { get; set; }
  9. }

3. sisäänStartup.csMääritä ja lue asetukset

olla olemassa.NET CoreSovellettuStartup.cstiedosto, sinun täytyyConfigureServicesMenetelmä mukautettujen määritystiedostojen tuen lisäämiseksi ja niiden lisäämiseksi riippuvuuden lisäyssäiliöön.

  1. public void ConfigureServices(IServiceCollection services)
  2. {
  3. // 添加对自定义配置文件的支持
  4. var builder = new ConfigurationBuilder()
  5. .SetBasePath(Directory.GetCurrentDirectory())
  6. .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
  7. .AddJsonFile("mycustomsettings.json", optional: true, reloadOnChange: true); // 添加自定义配置文件
  8. IConfigurationRoot configuration = builder.Build();
  9. // 绑定配置到MyCustomSettingsOptions类
  10. services.Configure<MyCustomSettingsOptions>(configuration.GetSection("MyCustomSettings"));
  11. // 其他服务配置...
  12. services.AddControllers();
  13. // 其他配置...
  14. }

4. Lisää ja käytä konfiguraatiota ohjaimessa tai muissa luokissa

Nyt voit käyttää sitä ohjaimessasi tai muissa palveluissa riippuvuuden lisäämisen kauttaMyCustomSettingsOptions.

  1. [ApiController]
  2. [Route("[controller]")]
  3. public class MyController : ControllerBase
  4. {
  5. private readonly MyCustomSettings _myCustomSettings;
  6. public MyController(IOptions<MyCustomSettingsOptions> options)
  7. {
  8. _myCustomSettings = options.Value.MyCustomSettings;
  9. }
  10. [HttpGet]
  11. public IActionResult Get()
  12. {
  13. // 使用_myCustomSettings...
  14. return Ok($"Key1: {_myCustomSettings.Key1}, Key2: {_myCustomSettings.Key2}");
  15. }
  16. }

Määrittelemällä luokka, joka vastaa asetustiedoston rakennetta ja sittenStartup.csMääritä ja lue nämä kokoonpanot ja käytä lopuksi näitä määrityksiä sovelluksen muissa osissa riippuvuuden lisäämisen avulla.