asp.net core 取消了web.config配置文件,而将appsetting.json作为了配置文件。

那么,怎么读取相关数据呢?这里我在appsetting.json中添加一些信息

第一种:在.net core 类库中读取json文件

{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"Appsettings": {
"ConnectionString": "Persist Security Info=True;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.17.202)(PORT=1032)))(CONNECT_DATA=(SERVICE_NAME = orcl)));User Id=ircs;Password=123456",
"Port": ,
"ReportDir": "C:\\Team2020\\ICRS\\ReportDir", //上报文件存放目录(未加密)
"entityFilePath": "D:\\test", //监测日志实体文件存放目录
"ircsId": "AB123", //经营者ID
"level": "" //违法违网站处置规指令等级
},
"AllowedHosts": "*"
}

这里我们需要添加netGet包:

注意:与读取Web.Config不同的是,asp.net 添加引用 using System.Configuration;

asp.net core 需要添加三个程序包,分别为:

Microsoft.Extensions.Configuration;
Microsoft.Extensions.Configuration.Abstractions;
Microsoft.Extensions.Configuration.Json;

加载配置文件的服务类:

    public class AppConfigurtaionServices
{
public static IConfiguration Configuration { get; set; }
static AppConfigurtaionServices()
{
//ReloadOnChange = true 当appsettings.json被修改时重新加载
Configuration = new ConfigurationBuilder()
//.SetBasePath(Directory.GetCurrentDirectory())
//AppDomain.CurrentDomain.BaseDirectory是程序集基目录,所以appsettings.json,需要复制一份放在程序集目录下,
.SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
.Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
.Build();
} }

获取数据:

var conStr = AppConfigurtaionServices.Configuration.GetSection("Appsettings:ConnectionString").Value;
var conStr2 = AppConfigurtaionServices.Configuration.GetSection("Appsettings").GetSection("ConnectionString").Value;

获取oracle数据库连接信息(两种写法都行):

第二种,控制器中获取json,(采用依赖注入的方式,注入获取配置文件的服务)

首先新建一个类,名称随意如:AppSettingModel

    /// <summary>
/// 配置文件实体类
/// </summary>
public class AppSettingModel
{
public string ConnectionString { get; set; }
public string Port { get; set; }
public string ReportDir { get; set; }
public string EntityFilePath { get; set; }
public string IrcsId { get; set; }
public string Level { get; set; }
}

注意字段名要与配置文件的name一致。

在StartUp类的ConfigureServices 中加上:

//则是自动初始化AppSettings实例并且映射appSettings里的配置
services.Configure<AppSettingModel>(Configuration.GetSection("Appsettings"));

如果;IServiceCollection找不到,需要在NewGet添加   Microsoft.Extensions.DependencyInjection;

控制器获取相关数据:

public class AppSettingInfoController : Controller
{
public readonly AppSettingModel _appSettingModel;
//IOptions找不到,需要NuGet添加包 Microsoft.Extensions.Options;
public AppSettingInfoController(IOptions<AppSettingModel> appSettingModel)
{
_appSettingModel = appSettingModel.Value;
} public ActionResult Index()
{
ViewData["conStr"] = _appSettingModel.ConnectionString;
return null;
}

c#读取appsetting.json配置文件的更多相关文章

  1. asp.net core读取appsetting.json文件

    1.在Startup.cs文件中注入,ConfigureServices方法 services.Configure<MyConfig>(Configuration.GetSection(& ...

  2. Asp .Net Core 读取appsettings.json配置文件

         Asp .Net Core 如何读取appsettings.json配置文件?最近也有学习到如何读取配置文件的,主要是通过 IConfiguration,以及在Program中初始化完成的. ...

  3. Core3.0读取appsetting.json中的配置参数

    前言 方法很多,下面的例子也是从百度上搜索到的,原文链接已经找不到了. 方法1 1.添加NovelSetting节点,写入相关的配置信息 2.创建类,字段与上面的配置一致 3.StartUp.cs中获 ...

  4. 干货:.net core实现读取appsettings.json配置文件(建议收藏)

    看好多人不懂在.NET CORE中如何读取配置文件,我这里分两篇,这一篇介绍怎样通过appsettings.json配置读取文件信息.这里我会教大家两种方式: 第一种直接放到通用类库,那里想调往那调. ...

  5. .net core 读取appsetting.json

    1.在appsetting.json 文件中添加自定义配置 { "Logging": { "LogLevel": { "Default": ...

  6. asp.net core 读取Appsettings.json 配置文件

    Appsettingsjson 配置定义实体在StartUp时读取配置信息修改你的Controller通过构造函数进入配置信息总结Appsettings.json 配置很明显这个配置文件就是一个jso ...

  7. .NET Core 中读取appsettings.json配置文件的方法

    appsettings.json配置文件结构如下: { "WeChatPay": { "WeChatApp_ID": "wx9999998999&qu ...

  8. ASP.NET Core读取appsettings.json配置文件信息

    1.在配置文件appsettings.json里新增AppSettings节点 { "Logging": { "LogLevel": { "Defau ...

  9. 解决.net core读取appSetting.json文件中文字符乱码

    如上所诉 vs菜单栏中  :工具 =>自定义 => 命令 =>添加命令 =>文件 =>找到高级保存选项点击 然后关闭,这时在visual studio界面就会有高级保存选 ...

随机推荐

  1. bat 获取管理员权限,判断系统位数,获取当前文件所在目录,regsvr32注册DLL、OCX

    1.获取管理员权限 @echo off if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%Syste ...

  2. redis不能保存bean对象

    可用JSON转为json格式 // 2.3 将用户信息存储在redis中 String memberToJson = JSON.toJSON(member).toString(); 需要maven坐标 ...

  3. Linux shell 函数应用示例01

    函数Function的使用 定义函数 (1) 函数名称() {     ...     ... } (2) function 函数名称{     ...     ... } 调用函数         ...

  4. HDP 3.1.0 集成 Sqoop2 踩坑问题记录

    HDP 3.1.0 集成 Sqoop2 踩坑问题记录 本文原始地址:https://sitoi.cn/posts/65261.html 问题一 $ sqoop:000> start job -n ...

  5. 详解数据库引擎与SQL语句增删改查(非常详细,带例)

    数据库系统(DBMS): 专门负责数据管理的工具.增加数据.创建索引.建立索引之间的关联关系.更新索引...... 连接器:PHP要访问MySQL,可以通过API访问,也可以通过PHP的驱动,而那个驱 ...

  6. LOJ 2249: 洛谷 P2305: bzoj 3672: 「NOI2014」购票

    题目传送门:LOJ #2249. 题意简述: 有一棵以 \(1\) 号节点为根节点的带边权的树. 除了 \(1\) 号节点的所有节点上都有人需要坐车到达 \(1\) 号节点. 除了 \(1\) 号节点 ...

  7. Codeforces 749E: Inversions After Shuffle

    题目传送门:CF749E. 记一道傻逼计数题. 题意简述: 给一个 \(1\) 到 \(n\) 的排列,随机选取区间 \([l,r]\) 随机打乱区间内的元素,问打乱后的整个序列的逆序数期望. 题解: ...

  8. 07-numpy-笔记-join

    字符串.join(字符串序列) 一目了然: #!/usr/bin/python # -*- coding: UTF-8 -*- str = "-"; seq = ("a& ...

  9. [51nod1227]平均最小公倍数(莫比乌斯反演+杜教筛)

    题意 求 $\sum_{i=a}^b \sum_{j=1}^i \frac{lcm(i,j)}{i}$. 分析 只需要求出前缀和, $$\begin{aligned}\sum_{i=1}^n \sum ...

  10. LeetCode 528. Random Pick with Weight

    原题链接在这里:https://leetcode.com/problems/random-pick-with-weight/ 题目: Given an array w of positive inte ...