获取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. Java学习--方法

    Java学习 方法 方法 定义 Java方法是语句的集合,一起执行一个功能. 方法是解决一类问题的步骤的有序组合. 方法包含在类或对象中. 方法在程序中被创建,在其他地方被引用. 设计方法的时候,最好 ...

  2. Docker 08 部署Elasticsearch

    参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...

  3. SpringBoot读取.yml配置文件最常见的两种方式-源码及其在nacos的应用

    一.前言 我们在开发中会经常遇到一些可能会变的值,比如数据库的密码,一些关键链接的配置等等. 都需要我们写在配置文件中,这样可以把这些配置文件放到nacos上进行管理,修改nacos的配置,咱们发布的 ...

  4. 【小白必看】Redis手把手教你从零开始下载到安装,再到配置允许图形化工具远程连接(一)

    一.Redis安装 本文暂时仅介绍Windows环境下Redis的安装. 由于Windows环境下没有.exe安装文件,这里我们使用"曲线救国"的.msi安装包帮助我们一站式解决安 ...

  5. Postfix别名邮件与SASL验证

    Postfix别名邮件与SASL验证 环境简介 系统: CentOS 8.3.2011 软件包: postfix-2:3.3.1-12.el8.x86_64 cyrus-sasl-2.1.27-5.e ...

  6. Util和Helper类

    Util和Helper Util Util类,应该是一个无状态的类,只有静态方法. 比如在获取某些类的全局实例化对象的时候可以使用. public class ParamUtil { ... publ ...

  7. Golang 动态脚本调研

    一.技术背景 1.1 程序的动态链接技术 在实际开发过程中,我们经常需要动态地更新程序的功能,或者在不变更程序主体文件的情况下添加或者更新程序模块. 1.1.1 动态链接库 首先最常见的是window ...

  8. 群晖-使用docker套件部署Prometheus+Grafana

    Docker 部署 Prometheus 说明: 先在群辉管理界面安装好docker套件,修改一下镜像源(更快一点) 所需容器如下 Prometheus Server(普罗米修斯监控主服务器 ) No ...

  9. 第一个HTML

    第一个HTML <!DOCTYPE html><!--html 文件开始--><html lang="en"><!--head 文件头-- ...

  10. MySQL5.7之在线DDL不会锁表

    MySQL5.7在线修改varchar字段不在锁表,测试过程如下: mysql> select version(); +------------+ | version() | +-------- ...