le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
La lettura dei file di configurazione personalizzati è un'esigenza comune in .NET Core, soprattutto quando è standardappsettings.json
、appsettings.Development.json
Oappsettings.Production.json
Quando il file di configurazione non è sufficiente a soddisfare le esigenze della tua applicazione. Ecco i passaggi su come implementare la lettura di un file di configurazione personalizzato:
Innanzitutto, crea un file di configurazione personalizzato nella directory root del tuo progetto o dove ritieni opportuno, ad es.mycustomsettings.json
。
Successivamente, devi definire una classe che corrisponda alla struttura del tuo file di configurazione personalizzato.ipotesimycustomsettings.json
Il contenuto è il seguente:
- {
- "MyCustomSettings": {
- "Key1": "Value1",
- "Key2": "Value2"
- }
- }
Puoi definire una classe di configurazione come questa:
- public class MyCustomSettings
- {
- public string Key1 { get; set; }
- public string Key2 { get; set; }
- }
-
- public class MyCustomSettingsOptions
- {
- public MyCustomSettings MyCustomSettings { get; set; }
- }
Startup.cs
Configura e leggi la configurazioneesistere.NET Core
ApplicatoStartup.cs
file, è necessarioConfigureServices
Metodo per aggiungere il supporto per i file di configurazione personalizzati e aggiungerli al contenitore di inserimento delle dipendenze.
- 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();
- // 其他配置...
- }
Ora puoi usarlo nel tuo controller o in altri servizi tramite l'inserimento delle dipendenzeMyCustomSettingsOptions
.
- [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}");
- }
- }
Definendo una classe che corrisponde alla struttura del file di configurazione e quindiStartup.cs
Configura e leggi queste configurazioni e infine utilizza queste configurazioni in altre parti dell'applicazione tramite l'inserimento delle dipendenze.