.NETCore WebApi框架:从appsettings.json 读取参数配置|C/S开发框架

.NETCore WebApi框架:从appsettings.json 读取参数配置
appsettings.json
.NETCore WebApi项目中我们将把配置文件统一放在appsettings.json文件中,如下图:

配置信息模型定义
定义实体类模型用于读取配置文件的参数值
C# 全选
/// <summary>
/// 缓存设置,用于加载appsettings.json配置文件的Cache配置信息
/// </summary>
public class CacheOptions
{
public CacheType CacheType { get; set; }
public string RedisEndpoint { get; set; }
}C# 全选
/// <summary>
/// 用于加载appsettings.json配置文件的jwt配置信息
/// </summary>
public class JwtOptions
{
[Display(Name = "Secret Key jwt令牌加密秘钥")]
public string Secret { get; set; }
[Display(Name = "Access Expire Hours 访问令牌的有效截止时间")]
public int AccessExpireHours { get; set; }
[Display(Name = "Refresh Expire Hours 刷新令牌的有效截止时间")]
public int RefreshExpireHours { get; set; }
[Display(Name = "Issuer 发送方")]
public string Issuer { get; set; }
[Display(Name = "Audience 接收方")]
public string Audience { get; set; }
}读取配置信息
C# 全选
public static IHostBuilder UseCache(this IHostBuilder hostBuilder)
{
hostBuilder.ConfigureServices((context, services) =>
{
services.Configure<CacheOptions>(context.Configuration.GetSection("Cache"));
var option = context.Configuration.GetSection("Cache").Get<CacheOptions>();
}
}C# 全选
public static IServiceCollection AddJwtBearer(this IServiceCollection services, IConfiguration configuration, string sectionName)
{
//获取jwt参数配置
services.Configure<JwtOptions>(configuration.GetSection(sectionName));
var myOptions = configuration.GetSection(sectionName).Get<JwtOptions>();
}封装GlobalAppSettings公共静态类
C# 全选
/// <summary>
/// 获取appsettings.json的配置信息
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="sectionName"></param>
/// <returns></returns>
public static T GetSettings<T>(string sectionName)
{
//实例化IConfiguration接口
var builder = new ConfigurationBuilder().AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
var configRoot = builder.Build();
var section = configRoot.GetSection(sectionName);
return section.Get<T>();
}读取配置信息:
C# 全选
var options = GlobalAppSettings.GetSettings<CacheOptions>("Cache");
var options = GlobalAppSettings.GetSettings<JwtOptions>("jwt");
参考文档:
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
.NETCore WebApi框架request/response模型介绍(req_XXX/res_XXX)|C/S开发框架
CSFramework.WebApi V3.0 WebApi开发框架(.NETCore+EFCore)
CSFramework WebApi开发框架集成PostgreSql数据库及测试报告|C/S开发框架
CS软件授权注册系统|WebApi服务器介绍|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
CSFrameworkV6.1前端+WebApiV3后端测试报告(前后端分离)|C/S开发框架
C/S开发框架两种后台连接:直连模式与WebApi模式(ADODirect与WebApi)|C/S开发框架
DLL类库同时支持.NETFramework以及.NETCore(EF模型支持.NET双平台架构)|C/S开发框架
WebApi NETCore框架 | APIProviderFactory 调用WebApi接口|C/S开发框架
CSFramework.WebApi框架提供两种登录接口(PC端登录、APP登录)|C/S开发框架
.NET8 .NETCore运行环境下载|C/S开发框架
.NET7 .NETCore运行环境下载|C/S开发框架
达梦数据库.NETCore.NET8实践指南|C/S软件开发框架|C/S开发框架
Postman工具设置Bearer Token与调试WebApi接口|C/S开发框架
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
.NETCore WebApi后端开发框架+达梦数据库测试报告|C/S开发框架
.NETCore WebApi框架request/response模型介绍(req_XXX/res_XXX)|C/S开发框架
CSFramework.WebApi V3.0 WebApi开发框架(.NETCore+EFCore)
CSFramework WebApi开发框架集成PostgreSql数据库及测试报告|C/S开发框架
CS软件授权注册系统|WebApi服务器介绍|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
CSFrameworkV6.1前端+WebApiV3后端测试报告(前后端分离)|C/S开发框架
C/S开发框架两种后台连接:直连模式与WebApi模式(ADODirect与WebApi)|C/S开发框架
DLL类库同时支持.NETFramework以及.NETCore(EF模型支持.NET双平台架构)|C/S开发框架
WebApi NETCore框架 | APIProviderFactory 调用WebApi接口|C/S开发框架
CSFramework.WebApi框架提供两种登录接口(PC端登录、APP登录)|C/S开发框架
.NET8 .NETCore运行环境下载|C/S开发框架
.NET7 .NETCore运行环境下载|C/S开发框架
达梦数据库.NETCore.NET8实践指南|C/S软件开发框架|C/S开发框架
Postman工具设置Bearer Token与调试WebApi接口|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
