.NET Core 读取配置文件方法
2024-10-15
51
在.NET Core中使用appsettings.json配置文件。
假设我们的示例配置文件是这样的
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
//"urls": "http://*:8000"
"ConnectionString": "data source=.;initial catalog=db;user id =sa",
"WebSetting": {
"WebName": "ASP.NET Core",
"Title": "Hello Title",
"Behavior": {
"IsCheckIp": true,
"MaxConnection": 300
}
}
}
在主机配置的时候已经把IConfiguration注入了,使用的时候直接在构造方法注入即可。
假设我们要在Startup类种读取配置文件信息,那么
private readonly IConfiguration _configuration;
//主机配置的时候框架已经注入了
public Startup(IConfiguration configuration)
{
_configuration = configuration;
}
单个读取配置方法
//单个读取配置方法
var connectionString = _configuration["ConnectionString"];
var title = _configuration["WebSetting:Title"];
绑定配置模型对象
按配置文件结构创建一个实体类,然后绑定
var appSetting = new SettingModel();
_configuration.Bind(appSetting);
var title1 = appSetting.WebSetting.Title;
//配置类
public class SettingModel
{
public string ConnectionString { get; set; }
public WebSetting WebSetting { get; set; }
}
public class WebSetting {
public string WebName { get; set;}
public string Title { get; set; }
public Behavior Behavior { get; set; }
}
public class Behavior {
public bool? IsCheckIp { get; set; }
public int? MaxConnection { get; set; }
}
部分绑定
只需要读取一部分的配置
var webSetting = new WebSetting();
_configuration.GetSection("WebSetting").Bind(webSetting);
注册配置选项的服务
services.Configure<SettingModel>(_configuration);
注册之后,在需要使用的地方直接注入即可
public void Func(IOptions<SettingModel> appOptions){
var a = appOptions.Value.WebSetting.Behavior;
}
自定义配置文件
假设自己创建了一个customsetting.json配置文件,读取方法
var config = new ConfigurationBuilder().AddJsonFile("customsetting.json").Build();
var name = config["Name"];
更新于:1个月前赞一波!
相关文章
- Sylvan.Data.Excel 性能优异的开源.NET Excel数据读取库
- ASP.NET Core 中常用的内置中间件
- .NET9 F#有什么新特性?
- .NET 开源 ORM FreeSql 使用教程
- .NET9 C# 13 有哪些新特性?
- .NET9 开始删除内置的 Swagger 支持 可使用Scalar.AspNetCore替代
- .NET 9 中System.Text.Json 的新增功能
- 什么是.NET渐进式Web应用(PWA)
- .NET开发中常见的异常报错原因和解决方法?
- .NET框架和CLR的工作原理?
- ASP.NET MVC与Web Forms的区别
- .NET C#中的IEnumerable和IEnumerator的区别
- 使用ADO.NET连接到南大通用GBase 8s数据库
- 鸿蒙OpenHarmony系统可以运行跨平台的.NET Core吗?
- ASP.NET Core使用partial标签报错
- .NET 9 即将推出的功能Task.WhenEach
- .NET 使用HttpClientFactory+Polly替代直接使用HttpClient
- .NET Framework被淘汰了吗?
- 强大的 .NET Mock 框架 单元测试模拟库Moq使用教程
- Asp.Net Core进程内托管 和 进程外托管的区别
文章评论
评论问答