在Asp.Net Core中关于appsettings.json的快速简便的读取和设置方式

在Asp.Net Core 中,配置信息已从原来Asp.Net的XML格式改为了更为流行的JSON格式,配置文件也由原来的App.config改成了appsettings.json。

那么对于这个appsettings.json中的配置信息的读取,使用最多的是使用与配置对应的实体模型,调用services.Configure<TOptions>()泛型方法载入配置。

这种方式的好处在于,将配置数据载入到对应的实体中后,项目的其它地方都可以使用,常见的是用于Controller中。

其缺点是不快速简便,需要设计对应的Model,构造方法中传入实体,Configure方法中载入数据等等。在有些地方是感觉麻烦的。

那么今天就介绍一种在某些即取即用的场景下能方便快捷的读取配置信息的方法:

首先这是appsettings.json中的内容:

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },
  //--系统配置项
  "ConnectionStrings": {
    "sqlconn": "Server=(local);Database=Blogging;Uid=sa;Pwd=123456;"
  },
  //--自定义配置项
  "SqlConnSetting": {
    "Server": "(local)",
    "Database": "Blogging",
    "Uid": "sa",
    "Pwd": "123456"
  }
}

然后,我需要要项目启动时配置EF DbContext的数据库连接字符串

有两种方法:

第一种就是使用.Net Core已经封装好的Configuration.GetConnectionString()方法,但这种方式需要将连接配置放在ConnectionStrings之中。

第二种就是使用IConfiguration接口中的[]索引方法,这种方法使用起来超级简单。这种方法在JS中处理Json对像时也是经常用到的。

在这种场景下,我个人还是比较喜欢这种方式。

原文地址:https://www.cnblogs.com/CFive/p/9121604.html

时间: 2024-08-03 00:13:56

在Asp.Net Core中关于appsettings.json的快速简便的读取和设置方式的相关文章

Asp.Net Core中使用Newtonsoft.Json进行序列化处理解决返回值首字母小写

一.Newtonsoft.Json仅 依赖.Net Standard所以支持.Net Framework也支持.Net Core 二.使用实例 Jquery 的ajax get请求 $('#btnOne').click(function () { //使用ajax get请求json 数据 $.get('@Url.Action("DataOne")', {}, function (data) { console.info(data); console.info(data[0].menu

Asp.Net Core中Json序列化处理整理

一.Asp.Net Core中的Json序列化处理使用的是Newtonsoft.Json,更多参考:C# Newtonsoft.Json JsonSerializerSettings配置序列化操作,C# Json序列化工具--Newtonsoft.Json简介和使用 1.Newtonsoft.Json仅 依赖.Net Standard所以支持.Net Framework也支持.Net Core 2.更多说明 /* * 1.在Core Mvc中JsonResult 默认支持Get请求 * 2.使用

Asp.Net Core 中无法使用 ConfigurationManager.AppSettings

刚刚接触.net core ,准备把之前的一些技术常用工具先移植到.net Standard上面来, 方便以后使用,结果用到ConfigurationManager 的 AppSettings 就出现各种问题 首先是 错误 CS0012 类型“NameValueCollection”在未引用的程序集中定义.必须添加对程序集“System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用. 考虑到.net

ASP.NET Core中返回 json 数据首字母大小写问题

asp.net core  默认输出的json数据首字母会改成小写,考虑可能是为了前端js的书写习惯,毕竟js 操作大小写敏感. 在Startup类的ConfigureServices()方法中进行配置,DefaultContractResolver() 原样输出,返回的 json 与后台定义一致 // This method gets called by the runtime. Use this method to add services to the container. public

如何在ASP.NET Core中应用Entity Framework

注:本文提到的代码示例下载地址> How to using Entity Framework DB first in ASP.NET Core 如何在ASP.NET Core中应用Entity Framework 首先为大家提醒一点,.NET Core和经典.NET Framework的Library是不通用的,包括Entity Framework! 哪怎么办? 别急,微软为.NET Core发布了.NET Core版本的Entity Framework,具体配置方法与经典.NET Framew

NLog在asp.net core中的应用

Asp.net core中,自带的Log是在当selfhost运行时,在控制台中输出,不便于查阅,如果用一个log架框,把日志持久化,便于查询. NLog是一个免费的日志记录框架,专门为.net平台下的框架提供日志功能,本文主要说明asp.net core下怎么使用NLog. 首先用Nuget安装NLog.Extensions.Logging和NLog.Web.AspNetCore两个类库. 修改project.json,在publishOptions中添加"nlog.config节点"

玩转ASP.NET Core中的日志组件

玩转ASP.NET Core中的日志组件简介日志组件,作为程序员使用频率最高的组件,给程序员开发调试程序提供了必要的信息.ASP.NET Core中内置了一个通用日志接口ILogger,并实现了多种内置的日志提供器,例如 ConsoleDebugEventSourceEventLogTraceSourceAzure App Service除了内置的日志提供器,ASP.NET Core还支持了多种第三方日志工具,例如 elmah.ioGelfJSNLogKissLog.netLoggrNLogSe

ASP.NET Core 中的配置

前言 配置在我们开发过程中必不可少,ASP.NET中的配置在 Web.config 中.也可配置在如:JSON.XML.数据库等(但ASP.NET并没提供相应的模块和方法). 在ASP.NET Core中Web.config已经不存在了(但如果托管到 IIS 的时候可以使用 web.config 配置 IIS), 而是用appsettings.json和appsettings.(Development.Staging.Production).json配置文件 (可以理解为ASP.NET中的Web

ASP.NET Core中使用GraphQL - 第六章 使用EF Core作为持久化仓储

ASP.NET Core中使用GraphQL ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中间件 ASP.NET Core中使用GraphQL - 第三章 依赖注入 ASP.NET Core中使用GraphQL - 第四章 GrahpiQL ASP.NET Core中使用GraphQL - 第五章 字段, 参数, 变量 本篇中我将演示如何配置持久化仓储,这里原文中是使用的Postgres, 这里我改用