.net core —— 控制台如何获取配置文件的内容?
本文链接:https://blog.csdn.net/yenange/article/details/82457761
参考: https://github.com/liuzhenyulive/JsonReader
在 Web 应用程序中, 获取配置文件还是比较简单的, 可以参考:
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.1#json-configuration-provider
但在控制台和类库中如何处理呢?
为了与 Web 保持一致, 配置文件名称还是使用:
appsettings.json
{
"ServerCode": "99",
"section0": {
"UserId": "1",
"UserName": "Tome"
},
"section1": {
"UserId": "2",
"UserName": "Marry"
}
}
下面展示了直接取字符串、绑定到实体及取子节点的几种方式:
using Microsoft.Extensions.Configuration;
using System;
namespace ConsoleApp4
{
class Program
{
//安装 .net core 2.1 完整包
//install-package Microsoft.AspNetCore.All -version 2.1.0
//注意不要超过 依赖项->SDK->Microsoft.NETCore.App 的版本,我这里是 2.1.0
//否则会无法正常生成和运行
static void Main(string[] args)
{
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json");
var configuration = builder.Build();
Console.WriteLine($"ServerCode:{configuration["ServerCode"]}");
UserInfo user1 = new UserInfo();
UserInfo user2 = new UserInfo();
configuration.GetSection("section0").Bind(user1);
configuration.GetSection("section1").Bind(user2);
Console.WriteLine(user1.ToString());
Console.WriteLine(user2.ToString());
Console.WriteLine($"section0:UserId:{configuration["section0:UserId"]}");
Console.Read();
}
}
public class UserInfo
{
public long UserId { get; set; }
public string UserName { get; set; }
public override string ToString()
{
return string.Format($"UserId:{UserId}, UserName:{UserName}");
}
}
}
还有一个问题: UserName 后面的值, 如果换成中文, 会显示乱码, 这个如何解决?
经 lindexi_gd 兄指点, 用 notepad++ 打开 json 文件, 改成 utf-8 编码, 就可以读取中文了, 表示感谢!
————————————————
版权声明:本文为CSDN博主「吉普赛的歌」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yenange/article/details/82457761
.net core —— 控制台如何获取配置文件的内容?的更多相关文章
- ASP.NET Core Web APi获取原始请求内容
前言 我们讲过ASP.NET Core Web APi路由绑定,本节我们来讲讲如何获取客户端请求过来的内容. ASP.NET Core Web APi捕获Request.Body内容 [HttpPos ...
- .Net Core如何在任意位置获取配置文件的内容
前几天群里有人问,我想在程序里的任意位置读取appsetting.json里的配置,该怎么搞. 话不多说上源码 首先,要想读取配置文件我们要用到IConfiguration 接口,这个接口在Start ...
- netcore获取配置文件的内容
结合了好几个哥们的写法,最终我使用了这个版本,现在把我这个版本的写出来,如果该版本和您的版本类似或者一样,那可能是借鉴您的 using Microsoft.AspNetCore.Hosting; us ...
- Spring Boot使用@Value注解获取配置文件中的属性
获取配置文件的内容——
- 在ASP.NET Core中用HttpClient(一)——获取数据和内容
在本文中,我们将学习如何在ASP.NET Core中集成和使用HttpClient.在学习不同HttpClient功能的同时使用Web API的资源.如何从Web API获取数据,以及如何直接使用Ht ...
- Java代码中获取配置文件(config.properties)中内容的两种方法
方法千千万,本人暂时只总结了两种方法. (1)config.properties中的内容如图 在applicationContext.xml中配置 <!-- 引入配置文件 --> < ...
- .Net Core控制台应用程序使用依赖注入、配置文件等
.Net Core作为一门新语言,资料实在是太少了,并且国内学习的人也不多,虽然性能还行也跨平台了但是生态圈不发展起来也不行 刚出来的时候用 .Net Core + Dapper + Mysql 弄了 ...
- Asp.Net Core 3.1 获取不到Post、Put请求的内容 System.NotSupportedException Specified method is not supported
# 问题 是这样的,我.net core 2.1的项目,读取.获取Post请求内容的一段代码,大概这样: [HttpPost] public async Task<IActionResult& ...
- .NET Core控制台利用【Options】读取Json配置文件
创建一个 .NET Core控制台程序 添加依赖 Microsoft.Extensions.Configuration Microsoft.Extensions.Configuration.FileE ...
随机推荐
- 如何使用gitlab自建golang基础库
这里以go mod方式建立golang基础库 一.gitlab创建项目golib 地址为gitlab.xxx.com/base/golib 示例如下 go mod初始化命令 go mod init g ...
- dedecms5.7文章页的标签随机插入到内容中并且标签的地址为其标签关联的其他文章地址
dedecms5.7文章页的标签随机插入到内容中并且标签的地址为其他标签关联的文章地址 1 添加2个自定义函数 在dede/include/extend.func.php底部 添加如下代码 //根据文 ...
- 【机器学习】PCA
目录 PCA 1. PCA最大可分性的思想 2. 基变换(线性变换) 3. 方差 4. 协方差 5. 协方差矩阵 6. 协方差矩阵对角化 7. PCA算法流程 8. PCA算法总结 PCA PCA 就 ...
- OpenCV.Net基于傅里叶变换进行文本的旋转校正
本文描述一种利用OpenCV及傅里叶变换识别图片中文本旋转角度并自动校正的方法,由于对C#比较熟,因此本文将使用OpenCVSharp. 文章参考了http://johnhany.net/2013/1 ...
- js、jquery、css属性及出错集合
*)注意使用jquery设置css的语法 css("propertyname","value");#单个时时逗号 css({"propertyname ...
- scrapy学习笔记(一)
环境:Windows 7 x64 Python3.7.1 pycharm 一.安装scrapy 1.1linux系统使用:pip install scrapy 1.2Windows系统: pi ...
- PHP实现简单RPC
1.什么是rpc RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”.目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用 ...
- vue-router 在项目中的使用
一.下载vue-router npm install vue-router --save 二.编码 1.在项目中新建文件夹 router/index.js /* * 路由对象模块 * */ impor ...
- Invalid left-hand side in assignment
今天遇到一个问题,算不上什么技术问题,但是感觉这个坑值得记录一下 说一下我们的环境,我们的项目都是本地启动服务的,所以直接在idea中打开前端代码进行开发的 原来的前端的代码都是es5的没有使用过箭头 ...
- 解决jmeter进行分布式测试,远程机器来运行脚本,在察看结果树中的响应数据项为空白
下面为大家提供一个解决办法: 第一步:打开主控机的jmeter--bin目录下的jmeter.properties文件 第二步:查找到mode=Standard 项 第三步:将其前边的注释去掉,然后保 ...