2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
La lecture de fichiers de configuration personnalisés est un besoin courant dans .NET Core, en particulier lorsque la normeappsettings.json
、appsettings.Development.json
ouappsettings.Production.json
Lorsque le fichier de configuration n'est pas suffisant pour répondre aux besoins de votre application. Voici les étapes à suivre pour mettre en œuvre la lecture d'un fichier de configuration personnalisé :
Tout d'abord, créez un fichier de configuration personnalisé dans le répertoire racine de votre projet ou partout où bon vous semble, par ex.mycustomsettings.json
。
Ensuite, vous devez définir une classe qui correspond à la structure de votre fichier de configuration personnalisé.hypothèsemycustomsettings.json
Le contenu est le suivant :
- {
- "MyCustomSettings": {
- "Key1": "Value1",
- "Key2": "Value2"
- }
- }
Vous pouvez définir une classe de configuration comme celle-ci :
- public class MyCustomSettings
- {
- public string Key1 { get; set; }
- public string Key2 { get; set; }
- }
-
- public class MyCustomSettingsOptions
- {
- public MyCustomSettings MyCustomSettings { get; set; }
- }
Startup.cs
Configurer et lire la configurationexister.NET Core
AppliquéStartup.cs
fichier, vous devezConfigureServices
Méthode pour ajouter la prise en charge des fichiers de configuration personnalisés et les ajouter au conteneur d'injection de dépendances.
- 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();
- // 其他配置...
- }
Vous pouvez désormais l'utiliser dans votre contrôleur ou dans d'autres services via l'injection de dépendancesMyCustomSettingsOptions
.
- [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}");
- }
- }
En définissant une classe qui correspond à la structure du fichier de configuration, puisStartup.cs
Configurez et lisez ces configurations, et enfin utilisez ces configurations dans d'autres parties de l'application via l'injection de dépendances.