获取ConnectionStrings节点数据

  1. //appsettings.json
  2.  
  3. {
  4. "ConnectionStrings": {
  5. //DEV
  6. "DbConn": "Server=**;Integrated Security=no;User ID=**;PWD=**;initial catalog=DB**;MultipleActiveResultSets=true;Max Pool Size=1024;Min Pool Size=10;Pooling=true;"
  7. //QA
  8. //PROD
  9. },
  10. "ErrorPage": "/Error/Error",
  11. "Environment": "DEV"
  12. }
  1. //startup.cs

  2. public Startup(IConfiguration configuration) //依赖注入
  3. {
  4. _configuration = configuration;
  5. }
  6.  
  7. public IConfiguration _configuration { get; }
  8.  
  9. // This method gets called by the runtime. Use this method to add services to the container.
  10. public void ConfigureServices(IServiceCollection services)
  11. {
  12. string _conn;
  13. //config db
  14. try
  15. {
    //GetSection("Environment")获取Environment节点的数据
  16. if (_configuration.GetSection("Environment").Value.Equals("PROD", StringComparison.OrdinalIgnoreCase))
  17. {
  18. var service = new DecryptService("ProjectICE_Portal");
  19. _conn = service.Decrypt(_configuration.GetConnectionString("DbConn"));//加密获取节点数据
  20. }
  21. else
  22. {
  23. _conn = _configuration.GetConnectionString("DbConn");//非加密
  24. }
  25. }
  26. catch (Exception ex)
  27. {
  28. throw new Exception($"Database connection initialization failed: {ex.Message}{ex.StackTrace}");
  29. }
  30. }

第二种比较实用的方法

  1. //Appsettings.json
  2. {
  3. "Logging": {
  4. "LogLevel": {
  5. "Default": "Information",
  6. "Microsoft": "Warning"
  7. }
  8. },
  9. "AllowedHosts": "*",
  10. "student": {
  11. "name": "小明",
  12. "age": 17,
  13. "classname": "5班"
  14.  
  15. }
  16. }
  17.  
  18. //新建一个实体类 实体类的属性和配置文件的配置项一致
  19. public class student
  20. {
  21. public string name { get; set; }
  22. public int age { get; set; }
  23. // public string classname { get; set; }
  24. }
  25.  
  26. //Startup.cs
  27.  
  28. //services.AddOptions(); 这两个必须在AddMvc上面
  29. services.Configure<student>(Configuration.GetSection("student"));
  30. services.AddMvc();

  31. //Controller 依赖注入 using Microsoft.Extensions.Options;
  32. public class OneController : Controller
  33. {
  34. private readonly IOptions<student> _log;
  35. public OneController(IOptions<student> logs)
  36. {
  37. _log = logs;
  38. }
  39. public IActionResult Index()
  40. {
  41. var a = _log.Value;
  42. ViewBag.a = a.name; //"小明"
  43. return View();
  44. }
  45. }

.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. 使 Word 段落第一行空出两个字符的位置(段落首行缩进)

    描述 使 Word 段落第一行左突出两个字符的位置,即段落首行缩进的方式有两种. "视图"选项卡--"显示"组--标尺 "开始"选项卡--& ...

  2. Excelize 发布 2.3.0 版本, Go 语言 Excel 文档基础库

    Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准.可以使用它来读取.写入由 Microsoft Exc ...

  3. 46th ECfinal 游记

    Day0 坐高铁坐了七小时从北戴河到西安,但第一次线下赛,来的路上还是很激动的 路上看到华山,下次来西安一定去爬 刚下高铁站遇到了一个不知道干啥的xjj xjj:可以占用您一点时间吗?谢谢了. 我:不 ...

  4. LGV 引理——二维DAG上 n 点对不相交路径方案数

    文章目录 引入 简介 定义 引理 证明 例题 释疑 扩展 引入 有这样一个问题: 甲和乙在一张网格图上,初始位置 ( x 1 , y 1 ) , ( x 2 , y 2 ) (x_1,y_1),(x_ ...

  5. 从零开始搭建react基础开发环境(基于webpack5)

    前言 最近利用闲暇时间把webpack系统的学习了下,搭建出一个react环境的脚手架,写篇文章总结一下,帮助正在学习webpack小伙伴们,如有写的不对的地方或还有可以优化的地方,望大佬们指出,及时 ...

  6. Linux虚拟机报错grub rescue解决步骤

    /boot 分区内核文件丢失 实验准备 1) 准备:rm -rf /boot/* 2) 系统启动报错截图 修复步骤 重启显示logo时 按 Esc,选择从光驱启动 或者关机再选择打开电源时进入固件 移 ...

  7. 从 Linux 内核角度探秘 JDK NIO 文件读写本质

    1. 前言 笔者在 <从 Linux 内核角度看 IO 模型的演变>一文中曾对 Socket 文件在内核中的相关数据结构为大家做了详尽的阐述. 又在此基础之上介绍了针对 socket 文件 ...

  8. 记录一下~~~Linux配置定时任务备份数据库dmp文件

    1.创建备份目录: mkdir -p /dcits/sx_xmz/sx_data_bak chown -R oracle18c:oinstall /dcits/sx_xmz/sx_data_bak 2 ...

  9. [Qt基础内容-08] Qt中MVC的M(Model)

    Qt中MVC的M(Model)简单介绍 Qt有自己的MVC框架,分别是model(模型).view(视图).delegate(委托),这篇文章,简单的介绍以下Qt中有关model(模型)的类以及一些基 ...

  10. Andrej Karpathy | 详解神经网络和反向传播(基于 micrograd)

    只要你懂 Python,大概记得高中学过的求导知识,看完这个视频你还不理解反向传播和神经网络核心要点的话,那我就吃鞋:D Andrej Karpathy,前特斯拉 AI 高级总监.曾设计并担任斯坦福深 ...