.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快速入门(一)
AgileConfig-1.5.5 发布 - 支持 JSON 编辑模式
.net HTML解析工具HtmlAgilityPack使用
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 Core MVC 实现长时间任务的进度显示
SqlSugar 5.0官方文档 .NET ORM
.NET Core中的鉴权授权正确方式(.NET5)

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