.NETCore和.NET5 MVC解析获取appsettings.json数据


.NETCore和.NET5 MVC解析获取appsettings.json数据

一、直接取值

appsetting.json配置如下

JavaScript 全选
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "MQTTConfig": {
    "Enable": true,
    "ClientID": "***",
    "Server": "***",
    "Port": 0,
    "UserName": "*",
    "Password": "***",
    "UseBytes": false
  }
}

使用 Configuration.GetValue 方法获取

startup.cs 中,获取值,然后存储全局变量中

参考代码如下,ConfigureServices 方法或者 Configure 方法中都可以

C# 全选
MQTTConfig.ClientID = Configuration.GetValue<string>("MQTTConfig:ClientID");
MQTTConfig.Server = Configuration.GetValue<string>("MQTTConfig:Server");
MQTTConfig.Port = Configuration.GetValue<int>("MQTTConfig:Port");
MQTTConfig.UserName = Configuration.GetValue<string>("MQTTConfig:UserName");
MQTTConfig.Password = Configuration.GetValue<string>("MQTTConfig:Password");

 

二、解析为对象模型

appsettings.json 数据如下

JavaScript 全选
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",

  "Users": [
    {
      "UserName": "***",
      "Password": "***"
    },
    {
      "UserName": "***",
      "Password": "***"
    },
    {
      "UserName": "***",
      "Password": "***"
    }
  ]

}

新建对象模型

C# 全选
public class UserModel {
	public string UserName { get; set; }
	public string Password { get; set; }
}

在 Startup.cs 方法名ConfigureServices 中添加代码 

C# 全选
services.Configure<List<UserModel>>(Configuration.GetSection("Users"));

完整代码

C# 全选
public void ConfigureServices(IServiceCollection services)
{
	services.AddControllersWithViews();
	
	// 添加 User 模型解析
	services.Configure<List<UserModel>>(Configuration.GetSection("Users"));
}

在控制器中使用配置数据

C# 全选
public class HomeController : ControllerBase
{
	private readonly List<UserModel> _Users;
	public HomeController(IOptions<List<UserModel>> options)
	{
		// appsettings.json 配置的用户对象
		_Users = options.Value;
	}
}

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
管理员
上一篇:.NETCore和.NET5 MVC使用 Session
下一篇:.NETCore和.NET5 MVC 控制器中判断是否登录
评论列表

发表评论

评论内容
昵称:
关联文章

.NETCore.NET5 MVC解析获取appsettings.json数据
.NETCore.NET5 MVC 控制器中判断是否登录
.NETCore.NET5 MVC使用 Session
ASP.NET MVCASP.NET Core MVC获取当前URL/Controller/Action
.NETCore动态解析Razor代码cshtml代码解析RazorEngine.NetCore
.net core MVC 使用 jquery ajax请求 Post json
浅析.netcore中的Configuration
ASP.NET MVC快速入门(一)
.net HTML解析工具HtmlAgilityPack使用
AgileConfig-1.5.5 发布 - 支持 JSON 编辑模式
Asp.NetCore3.1开源项目升级为.Net6.0
Asp.net 微信H5唤起支付支付回调
.net 简单实现在H5中将word、jpg、png转成PDF给PDF添加水印并且控制样式可视化编辑
ASP.NET MVC 后台控制器向View前台传递数据的几种方式
在Winform项目Web API的.NetCore项目中使用Serilog 来记录日志信息
SQL Server 数据库类型.NET数据类型映射关系
[.Net] .NET Reactor加授权方法 .NET Reactor自定义注册机获取机器码
SqlSugar 5.0官方文档 .NET ORM
.NET Core中的鉴权授权正确方式(.NET5)
.NET Core MVC 实现长时间任务的进度显示

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码