ASP。网络核心类库项目中实现读取配置文件的方法

  介绍

这篇文章给大家分享的是有关ASP。网络核心类库项目中实现读取配置文件的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

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

在应用程序目录下添加json文件是进行如下配置:

 var builder=new ConfigurationBuilder ()
  .SetBasePath (env.ContentRootPath)
  .AddJsonFile (“appsettings.json"可选:真的,reloadOnChange:真正的)
  .AddJsonFile ($“appsettings。{env.EnvironmentName} .json",可选:真正的)
  .AddEnvironmentVariables ();
  配置=builder.Build (); 

然后读取配置文件的节点,如下:

 var basePath=AppDomain.CurrentDomain.BaseDirectory;
  var浏览器名称=AppDomain.CurrentDomain.ApplicationIdentity.FullName; 

当然也可以通过如下来获取应用程序根目录而不是得到本目录

Directory.GetCurrentDirectory ()

在。net核心中获取本目录路径通过如下来获取更加简洁。

AppContext.BaseDirectory

在。净4。X之前获取应用程序集名称通过如下来获取:

Assembly.GetEntryAssembly () . getname () . name;

在。net中核心通过如下来获取:

 var name=typeof (T) .GetTypeInfo () .Assembly.GetName () . name; 

版本通过如下来获取(. net核心也一样):

Assembly.GetEntryAssembly () . getname () .Version.ToString ()

在类库项目中我们利用强类型配置来实现读取配文件数据,我们首先需要下载如下扩展。

 ASP。网络核心类库项目中实现读取配置文件的方法

在ConfigurationBuilder类中如下一个加添加方法:

////摘要://添加一个新的配置源。////参数://来源://添加的配置源。////返回结果://Microsoft.Extensions.Configuration.IConfigurationBuilder相同。   公共IConfigurationBuilder添加(IConfigurationSource源);

对于AddJsonFile扩展方法来添加JSON文件名,文件路径已经通过SetBasePath()方法来实现,一切配置都是基于IConfigurationBuilder接口,其中就有一个JsonConfigurationSource类,实现如下:

////摘要://代表一个作为Microsoft.Extensions.Configuration.IConfigurationSource JSON文件。   公开课JsonConfigurationSource: FileConfigurationSource   {   公共JsonConfigurationSource ();////摘要://构建Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider//源。////参数://构建器://Microsoft.Extensions.Configuration.IConfigurationBuilder。////返回结果://一个Microsoft.Extensions.Configuration.Json.JsonConfigurationProvider   公共覆盖IConfigurationProvider构建(IConfigurationBuilder builder);   }

我们再看其父类就有一个添加JSON文件路径的方法,如下:

 ASP。网络核心类库项目中实现读取配置文件的方法

ASP。网络核心类库项目中实现读取配置文件的方法