.NET Core 读取配置文件方法
2024-10-15
106
在.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"];
更新于:3个月前赞一波!3
相关文章
- .NET C# 使用Hook钩子实现全局监听键盘和鼠标
- BotSharp 基于 .NET 平台的开源 AI 聊天机器人框架
- .NET C#连接FTP实现文件上传下载
- ABP.Net Core使用教程(一)启动模版项目
- .NET C#中的Func、Predicate和Expression用法详解
- 5个高性能 .NET Core 图片处理库推荐
- ASP.NET如何将Views文件夹从项目分离
- .NET C# 读取编辑.AVIF图片文件
- .NET C# SkiaSharp读取.AVIF图片文件报错
- .NET开源ORM FreeSql常见问题和解决方法
- 微软于发布了.NET 9 Release Candidate 2 提高整体质量
- 分享5个开源的.NET Excel读写操作库
- .Net Core中Dapper的使用详解
- ASP.NET 使用Entity Framework (EF) 创建迁移修改SQLite数据库表结构
- 如何从.NET Framework迁移到.NET Core或.NET 6/7?
- 如何优化ASP.NET Core应用的性能?
- 10款.NET开发中推荐的代码分析和质量工具
- .NET9 Blazor有哪些更新?
- 在Docker、Kubernetes环境下部署.NET应用的最佳实践
- .NET 游戏开发框架有哪些?
文章评论
评论问答