プライベートな連絡先の最初の情報
送料メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
カスタム構成ファイルの読み取りは、.NET Core の一般的なニーズです (特に標準の構成ファイルの場合)。appsettings.json
、appsettings.Development.json
またはappsettings.Production.json
構成ファイルだけではアプリケーションのニーズを満たすのに十分ではない場合。カスタム構成ファイルの読み取りを実装する手順は次のとおりです。
まず、プロジェクトのルート ディレクトリまたは適切と思われる場所にカスタム構成ファイルを作成します。mycustomsettings.json
。
次に、カスタム構成ファイルの構造に一致するクラスを定義する必要があります。仮説mycustomsettings.json
内容は以下の通りです。
- {
- "MyCustomSettings": {
- "Key1": "Value1",
- "Key2": "Value2"
- }
- }
次のように構成クラスを定義できます。
- public class MyCustomSettings
- {
- public string Key1 { get; set; }
- public string Key2 { get; set; }
- }
-
- public class MyCustomSettingsOptions
- {
- public MyCustomSettings MyCustomSettings { get; set; }
- }
Startup.cs
設定と設定の読み取り存在する.NET Core
適用済みStartup.cs
ファイル、あなたはする必要がありますConfigureServices
カスタム構成ファイルのサポートを追加し、それらを依存関係注入コンテナーに追加するメソッド。
- 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();
- // 其他配置...
- }
これで、依存関係注入を介してコントローラーまたは他のサービスで使用できるようになりました。MyCustomSettingsOptions
。
- [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}");
- }
- }
設定ファイルの構造に一致するクラスを定義し、Startup.cs
これらの構成を構成して読み取り、最終的に依存関係注入を通じてアプリケーションの他の部分でこれらの構成を使用します。