.NET Core2.1如何获取自定义配置文件信息详解

前言

.net core来势已不可阻挡。既然挡不了,那我们就顺应它。了解它并学习它。今天我们就来看看和之前.net版本的配置文件读取方式有何异同,这里不在赘述.NET Core 基础知识。下面话不多说了,来一起看看详细的介绍吧

实现

注:需要NuGet引入:Microsoft.Extensions.Options.ConfigurationExtensions

①我们再配置文件appsettings.json中 新增自定义API Json如下:

{
 "Logging": {
 "IncludeScopes": false,
 "LogLevel": {
  "Default": "Warning"
 }
 },
 "API": {
 "Url": "http://localhost:8080/",
 "getclub": "api/club"
 }
}

②然后我们定义一个静态类,再类中申明一个IConfigurationSection 类型变量

private static IConfigurationSection _appSection = null;

③写一个AppSetting静态方法获取到配置的Value项,代码如下:

  public static string AppSetting(string key)
  {
   string str = string.Empty;
   if (_appSection.GetSection(key) != null)
   {
    str = _appSection.GetSection(key).Value;
   }
   return str;
  }

④需要设置IConfigurationSection初始值,如下:

  public static void SetAppSetting(IConfigurationSection section)
  {
   _appSection = section;
  }

⑤然后写一个根据不同Json项读取出对应的值即可:

 public static string GetSite(string apiName)
 {
  return AppSetting(apiName);
 }

⑥有了以上几个步骤,基本上读取代码已经全部写完,剩下最后一个最重要的步骤,将要读取的Json文件配置到Startup.cs的Configure方法中,如下:

这样,我们就可以很轻松的获取到我们想要的配置项了,整段CS代码如下:

 /// <summary>
 /// 配置信息读取模型
 /// </summary>
 public static class SiteConfig
 {
  private static IConfigurationSection _appSection = null;

  /// <summary>
  /// API域名地址
  /// </summary>
  public static string AppSetting(string key)
  {
   string str = string.Empty;
   if (_appSection.GetSection(key) != null)
   {
    str = _appSection.GetSection(key).Value;
   }
   return str;
  }

  public static void SetAppSetting(IConfigurationSection section)
  {
   _appSection = section;
  }

  public static string GetSite(string apiName)
  {
   return AppSetting(apiName);
  }
 }

最后 ,我们来跑一下演示效果如下:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • .NET Core读取配置文件方式详细总结

    基于.NET Core的跨平台开发,配置文件与之前.NET Framework采用xml的config文件不同,目前主要是采用json文件键值对配置方式读取. 参考网上相关资料总结如下: 一. 引入扩展 System.Configuration.ConfigurationManager Nuget 下载扩展,Install-Package System.Configuration.ConfigurationManager 使用方式:添加配置文件App.config.读取方式与原.NET Fram

  • Ubuntu16.04系统配置.net core环境

    Ubuntu 16.04 desktop下载地址:http://www.ubuntu.com/desktop 本次是用vmware安装该系统. ps:系统装好后默认分辨率是800*600,有点小,通过界面调整分辨率遇到很尴尬的问题,确定按钮被遮住,无法确定.只能通过终端命令调整了:xrandr -s 15差不多够大了. 下面配置环境参考文档:https://www.microsoft.com/net/core 1.配置dotnet apt-get feed置命令如下: sudo sh -c 'e

  • 如何在ASP.NET Core类库项目中读取配置文件详解

    前言 最近有朋友问如何在.net core类库中读取配置文件,当时一下蒙了,这个提的多好,我居然不知道,于是这两天了解了相关内容才有此篇文章的出现,正常来讲我们在应用程序目录下有个appsettings.json文件对于相关配置都会放在这个json文件中,但是要是我建立一个类库项目,对于一些配置比如密钥或者其他需要硬编码的数据放在JSON文件中,在.net core之前配置文件为web.config并且有相关的类来读取节点上的数据,现如今在.net core中为json文件,那么我们该如何做?本

  • asp.net core中灵活的配置方式详解

    前言 asp.net core支持外部文件和命令行参数方式来配置系统运行所需要的配置信息,我们从下面两个常用场景来具体说下具体使用方法. 一.监听地址及端口配置 1,命令行方式 asp.net core系统通过命令行方式启动,使用的命令如下: dotnet run 上面的命令直接在源代码目录下执行,便可以编译程序并运行.那对于已经发布好的程序,就不能使用上面的指令了,应该使用下面的指令: dotnet 程序集文件名(程序集文件名就是程序发布后生成的dll文件) 上面两个指令都能够启动应用程序.程

  • ASP.NET Core MVC 配置全局路由前缀

    ASP.NET Core MVC 配置全局路由前缀 前言 大家好,今天给大家介绍一个 ASP.NET Core MVC 的一个新特性,给全局路由添加统一前缀.严格说其实不算是新特性,不过是Core MVC特有的. 应用背景 不知道大家在做 Web Api 应用程序的时候,有没有遇到过这种场景,就是所有的接口都是以 /api 开头的,也就是我们的api 接口请求地址是像这样的: http://www.example.com/api/order/333 或者是这样的需求 http://www.exa

  • .Net Core自定义配置源从配置中心读取配置的方法

    前言 配置,几乎所有的应用程序都离不开它..Net Framework时代我们使用App.config.Web.config,到了.Net Core的时代我们使用appsettings.json,这些我们再熟悉不过了.然而到了容器化.微服务的时代,这些本地文件配置有的时候就不太合适了.当你把本地部署的服务搬到docker上后,你会发现要修改一个配置文件变的非常麻烦.你不得不通过宿主机进入容器内部来修改文件,也许容器内还不带vi等编辑工具,你连看都不能看,改都不能.更别说当你启动多个容器实例来做分

  • 实现core文件自动生成配置文件的方法

    本文讲述了实现core文件自动生成的配置方法,具体执行步骤如下: 1.编辑环境配置文件,让shell启动时自动设置ulimit vi /etc/profile ulimit -c unlimited > /dev/null 2>&1 2.更改core文件生成路径 vi /etc/sysctl.conf kernel.core_uses_pid = 1 kernel.core_pattern=/tmp/core-%e-%p 3.sysctl配置生效 sysctl -p /etc/sysc

  • .NetCore获取Json和Xml格式的配置信息

    本篇将和大家分享的是:如何获取Json和Xml格式的配置信息,主要介绍的是Configuration扩展方法的使用,因为netcore的web应用在Startup中已经默认嵌入appsettings.json文件的配置信息,故而我把测试点放在在了netcore的控制台应用上:控制台上使用配置文件也是常用的事情,并且官网实例主要讲解的是json格式,对xml格式直接带过了,因此有了本篇的分享,希望能给你好的帮助: 获取Json配置信息 获取Xml配置信息 获取xml节点属性值 配置文件能否不和应用

  • .NET Core简单读取json配置文件

    背景 目前发现网上的 .NET Core 读取 json 格式的配置文件有点麻烦,自己想搞个简单点的. .NET Core 目前的主流形式是采用 json 格式来存储配置文件信息,跟之前的诸如 app.config 和 web.config 等 xml 形式的配置文件有所区别. json 文件 demo appsettings.json: { "name": "wen", "age": 26, "family": { &quo

  • ASP.NET Core配置教程之读取配置信息

    提到"配置"二字,我想绝大部分.NET开发人员脑海中会立马浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来我们已经习惯了将结构化的配置信息定义在这两个文件之中.到了.NET Core的时候,很多我们习以为常的东西都发生了改变,其中也包括定义配置的方式.总的来说,新的配置系统显得更加轻量级,并且具有更好的扩展性,其最大的特点就是支持多样化的数据源.我们可以采用内存的变量作为配置的数据源,也可以直接配置定义在持久化的文件甚至数据库中. 由

随机推荐