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

作者:潇十一郎 时间:2023-07-17 16:26:34 

前言

.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方法中,如下:

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

这样,我们就可以很轻松的获取到我们想要的配置项了,整段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);
 }
}

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

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

来源:https://www.cnblogs.com/zhangxiaoyong/p/9411036.html

标签:core2.1,配置文件,自定义
0
投稿

猜你喜欢

  • python 设置文件编码格式的实现方法

    2021-06-22 14:49:52
  • MySQL8.0服务无法正常启动的解决过程

    2024-01-13 04:33:27
  • 基于Python实现抢注大词的提词工具

    2022-04-07 02:00:20
  • pycharm中django框架连接mysql数据库的方法

    2024-01-25 18:52:28
  • python 3.0 模拟用户登录功能并实现三次错误锁定

    2022-06-12 14:11:05
  • 深入浅出讲解MySQL的并行复制

    2024-01-21 20:22:26
  • 利用python为PostgreSQL的表自动添加分区

    2023-07-07 14:44:58
  • 使用Python+Splinter自动刷新抢12306火车票

    2023-09-17 18:38:52
  • python如何提升爬虫效率

    2021-12-17 22:18:24
  • php基础教程 php内置函数实例教程

    2023-11-14 18:28:45
  • MySQL数据库实验实现简单数据库应用系统设计

    2024-01-27 04:49:34
  • InnoDB的关键特性-插入缓存,两次写,自适应hash索引详解

    2024-01-18 01:28:23
  • WPF自定义搜索框代码分享

    2023-07-18 23:31:04
  • JavaScript性能优化小技巧,创建文档碎片

    2010-03-31 18:27:00
  • 利用ADODB.Stream使用浏览器下载服务器文件

    2008-10-09 12:42:00
  • php foreach循环中使用引用的问题

    2023-11-17 17:22:26
  • Python反射用法实例简析

    2021-10-15 20:28:34
  • Python通过poll实现异步IO的方法

    2023-07-17 04:08:52
  • 简单谈谈axios中的get,post方法

    2023-10-05 08:47:53
  • 使用Pytorch实现two-head(多输出)模型的操作

    2023-08-20 07:00:05
  • asp之家 网络编程 m.aspxhome.com