Κοινή χρήση τεχνολογίας

Το .Net core υλοποιεί την ανάγνωση προσαρμοσμένων αρχείων διαμόρφωσης

2024-07-12

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

Η ανάγνωση αρχείων προσαρμοσμένων ρυθμίσεων είναι μια κοινή ανάγκη στο .NET Core, ειδικά όταν το τυπικόappsettings.jsonappsettings.Development.jsonήappsettings.Production.json Όταν το αρχείο διαμόρφωσης δεν επαρκεί για να καλύψει τις ανάγκες της εφαρμογής σας. Ακολουθούν τα βήματα για τον τρόπο εφαρμογής της ανάγνωσης ενός προσαρμοσμένου αρχείου διαμόρφωσης:

1. Δημιουργήστε ένα προσαρμοσμένο αρχείο διαμόρφωσης

Πρώτα, δημιουργήστε ένα προσαρμοσμένο αρχείο διαμόρφωσης στον ριζικό κατάλογο του έργου σας ή όπου κρίνετε κατάλληλο, π.χ.mycustomsettings.json

2. Καθορίστε την κλάση διαμόρφωσης

Στη συνέχεια, πρέπει να ορίσετε μια κλάση που να ταιριάζει με τη δομή του προσαρμοσμένου αρχείου διαμόρφωσης.υπόθεσηmycustomsettings.jsonΤο περιεχόμενο έχει ως εξής:

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

Μπορείτε να ορίσετε μια κλάση διαμόρφωσης ως εξής:

  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. σεStartup.csΔιαμόρφωση και ανάγνωση της διαμόρφωσης

υπάρχει.NET CoreΕφαρμοσμένοςStartup.csαρχείο, πρέπει ναConfigureServicesΜέθοδος για την προσθήκη υποστήριξης για αρχεία προσαρμοσμένων ρυθμίσεων και την προσθήκη τους στο κοντέινερ ένεσης εξάρτησης.

  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. Εισάγετε και χρησιμοποιήστε τη διαμόρφωση σε ελεγκτή ή άλλες κλάσεις

Τώρα μπορείτε να το χρησιμοποιήσετε στον ελεγκτή σας ή σε άλλες υπηρεσίες μέσω της ένεσης εξάρτησηςMyCustomSettingsOptions.

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

Ορίζοντας μια κλάση που ταιριάζει με τη δομή του αρχείου διαμόρφωσης και στη συνέχειαStartup.csΔιαμορφώστε και διαβάστε αυτές τις διαμορφώσεις και, τέλος, χρησιμοποιήστε αυτές τις διαμορφώσεις σε άλλα μέρη της εφαρμογής μέσω της ένεσης εξάρτησης.