{ \"Logging\": { \"LogLevel\": { \"Default\": \"Information\", \"Microsoft.AspNetCore\": \"Warning\" } }, \"ApplicationSettings\": { \"DbConnString\": \"Using options connection string\", \"SubSettings\": { \"Name\": \"Read appsettings.json using options\", \"ApiVersion\": 3 } } }
IOptions 使用情况它的使用通常分三个步骤进行:第 1 步 — 配置类定义:首先,定义一个类来保存配置数据。此类必须与appsettings.json文件中的结构匹配。我还在项目中创建了一个配置类,如下所示: public class AppsettingsOptionsModel { public string DbConnString { get; set; } public AppsettingsSubsettingsModel? SubSettings { get; set; } } public class AppsettingsSubsettingsModel { public string Name { get; set; } public string ApiVersion { get; set; } }
第 2 步 — 将配置添加到服务:在Program.cs文件中,将添加配置服务并将其链接到配置文件。builder.Services.Configure<AppsettingsOptionsModel>(builder.Configuration.GetSection(\"ApplicationSettings\"));
第 3 步 — 使用配置:可以访问 IOptions 配置设置,并在需要时读取数据。最常见的方法是使用依赖注入来访问 IOptions 接口。 public class ReadAppsettingsUsingOptionsController : ControllerBase {private readonly AppsettingsOptionsModel _appSettingsModel;public ReadAppsettingsUsingOptionsController(IOptions<AppsettingsOptionsModel> options) { _appSettingsModel = options.Value; } [HttpGet(\"ReadConnString\")]public IActionResult GetConnectionString() {return Ok(_appSettingsModel.DbConnString); } [HttpGet(\"ReadAppName\")]public IActionResult GetAppName() {return Ok(_appSettingsModel.SubSettings.Name); } [HttpGet(\"ReadGroupDate\")]public IActionResult GetGroupData() {return Ok(_appSettingsModel); } }
现在,让我们运行示例项目并检查结果。当我们运行项目时,Swagger 界面欢迎我们。每次触发 endPoint 时,我都会在下面按顺序共享返回的结果。从 appsettings.json 文件中读取连接字符串值的方法的结果该方法从appsettings.json文件中读取子节点值的结果从appsettings.json文件中读取组值的方法的结果使用 IOptions 读取 appsettings.json 文件具有显著的优势,例如类型安全性、集中管理和灵活性。但是,它也有一些缺点,例如初始成本、过载的配置类以及需要动态更新。因此,对于开发人员来说,根据项目的需求评估 IOptions 的使用情况非常重要。在大型和复杂的项目中,IOptions 通常是一个很大的好处,而在小型项目中,更简单的配置方法可能就足够了。如果你喜欢我的文章,请给我一个赞。谢谢
0 评论