获取ConnectionStrings节点数据

//appsettings.json

{
"ConnectionStrings": {
//DEV
"DbConn": "Server=**;Integrated Security=no;User ID=**;PWD=**;initial catalog=DB**;MultipleActiveResultSets=true;Max Pool Size=1024;Min Pool Size=10;Pooling=true;"
//QA
//PROD
},
"ErrorPage": "/Error/Error",
"Environment": "DEV"
}
//startup.cs

public Startup(IConfiguration configuration) //依赖注入
{
_configuration = configuration;
} public IConfiguration _configuration { get; } // This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
string _conn;
//config db
try
{
//GetSection("Environment")获取Environment节点的数据
if (_configuration.GetSection("Environment").Value.Equals("PROD", StringComparison.OrdinalIgnoreCase))
{
var service = new DecryptService("ProjectICE_Portal");
_conn = service.Decrypt(_configuration.GetConnectionString("DbConn"));//加密获取节点数据
}
else
{
_conn = _configuration.GetConnectionString("DbConn");//非加密
}
}
catch (Exception ex)
{
throw new Exception($"Database connection initialization failed: {ex.Message}{ex.StackTrace}");
}
}

第二种比较实用的方法

//Appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning"
}
},
"AllowedHosts": "*",
"student": {
"name": "小明",
"age": 17,
"classname": "5班" }
} //新建一个实体类 实体类的属性和配置文件的配置项一致
public class student
{
public string name { get; set; }
public int age { get; set; }
// public string classname { get; set; }
} //Startup.cs //services.AddOptions(); 这两个必须在AddMvc上面
services.Configure<student>(Configuration.GetSection("student"));
services.AddMvc();

//Controller 依赖注入 using Microsoft.Extensions.Options;
public class OneController : Controller
{
private readonly IOptions<student> _log;
public OneController(IOptions<student> logs)
{
_log = logs;
}
public IActionResult Index()
{
var a = _log.Value;
ViewBag.a = a.name; //"小明"
return View();
}
}

.Net Core中获取appsettings.json中的节点数据的更多相关文章

  1. .NET Core类库项目中如何读取appsettings.json中的配置

    这是一位朋友问我的问题,写篇随笔回答一下.有2种方法,一种叫丑陋的方法 —— IConfiguration ,一种叫优雅的方法 —— IOptions . 1)先看丑陋的方法 比如在 RedisCli ...

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

    1. 首先些一个类 public class MySettings { public string P1 { get; set; } public string P2 { get; set; } } ...

  3. 在swt中获取jar包中的文件 uri is not hierarchical

    uri is not hierarchical 学习了:http://blog.csdn.net/zdsdiablo/article/details/1519719 在swt中获取jar包中的文件: ...

  4. 【记录】mybatis中获取常量类中数据

    部分转载,已注明来源: 1.mybatis中获取常量类中数据 <update id="refuseDebt"> UPDATE dt_debt a SET         ...

  5. .NET Core 类库中读取appsettings.json

    { "Logging": { "IncludeScopes": false, "LogLevel": { "Default&quo ...

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

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

  7. 如何在.Net Core 2.0 App中读取appsettings.json

    This is something that strangely doesn’t seem to be that well documented and took me a while to figu ...

  8. .Net Core 2.0 App中读取appsettings.json

    引用: Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.FileExtensionsMicrosoft.Ext ...

  9. Asp.Net Core探索 之 appsettings.json

    appsettings.json是什么? 相信大家在.Net Framework的项目都会用的web.config,app.config这些文件,appsettings.json文件就是Asp.Net ...

随机推荐

  1. LuoguP1456 Monkey King (左偏树)

    struct LeftTree{ int l,r,val,dis; }t[N]; int fa[N]; inline int Find(int x){ return x == fa[x] ? x : ...

  2. Canvas 线性图形(三):曲线

    前言 画曲线要用到二次贝塞尔曲线或三次贝塞尔曲线.贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如 PhotoShop. 二次贝塞尔曲线 二次贝塞尔曲线在 ...

  3. HTTP 的 Content-Type 及其媒体类型(MIME)

    Content-Type Content-Type 代表 HTTP 携带的文件类型,决定文件接收方或发送方将以什么形式.什么编码读取这个文件.下图,load.gif 的媒体类型就是 image/gif ...

  4. Python自学教程2:大牛们怎么写注释

    在还没开始学代码前,就要先学会写注释.不会写注释的程序员会遭到鄙视和唾弃,甚至在工作中会被人穿小鞋.注释也不是随便写一下就行,用好注释还是有点讲究的. 注释有什么用? 注释(Comments)主要是向 ...

  5. 概述:基于事件的优化方法 / 事件驱动优化 / Event-Based Optimization / EBO

    大家好,我是月出 本文基于这篇综述,介绍了 事件驱动优化(Event-Based Optimization, EBO). 事件驱动优化,是一种建模现实场景.做优化的思路,理论和 MDP / 强化学习很 ...

  6. 【manim】学习路径1-安装篇-windows、macOS

    下一章:https://www.cnblogs.com/remyuu/p/16462369.html 本系列以大量实战讲解manim数学动画引擎. 文档编辑器推荐:Sublime Text 这里是一些 ...

  7. Kotlin快速上手

    一.Kotlin基础 1.数据类型声明 在Kotlin中要定义一个变量需要使用var关键字 //定义了一个可以修改的Int类型变量 var number = 39 如果要定义一个常量可以使用val关键 ...

  8. C++ 由快排学习到的的随机数等知识

    起: 力扣的912题 数组排序 ,想着先用快速排序来写写,在实际用c++编写的时候,有一些之前没注意到的细节问题造成了一些麻烦. 912. 排序数组 - 力扣(LeetCode) 快排思想 每次以数组 ...

  9. Java开发学习(三十二)----Maven多环境配置切换与跳过测试的三种方式

    一.多环境开发 我们平常都是在自己的开发环境进行开发, 当开发完成后,需要把开发的功能部署到测试环境供测试人员进行测试使用, 等测试人员测试通过后,我们会将项目部署到生成环境上线使用. 这个时候就有一 ...

  10. 华南理工大学 Python第4章课后小测-1

    1.(单选)下面程序的输出结果是: for c in "ComputerScience": print(c,end="") if c=="S" ...