.net core 学习笔记(5)-配置文件读取

1.在appsetting下新增一个配置节点:

"KeyStrings": {
    "key": "abc",
    "value": "test"
  },

2.新增类文件 KeyStrings.cs

public class KeyStrings{
  public string key{get;set}
  public string value{get;set;}
}

3.添加读取配置文件的类及接口文件KeyReposiroty.cs,IKeyRepository.cs

public class KeyReposiroty:IKeyReposiroty
{

  protected readonly   KeyStrings _keystrings;
  public KeyReposiroty(IOptions<KeyStrings> keystrings){
    _keystrings=keystrings
  }

  public virtual KeyStrings MyKeyStrings
        {
            get
            {
                return _keystrings;
            }
        }

}

  

public interface IKeyReposiroty
{

   KeyStrings MyKeyStrings{get;}

}

  

4.新增扩展方法

public static IServiceCollection GetKeyString(this IServiceCollection services, IConfigurationSection configuration)
        {
            services.Configure<KeyStrings>(configuration);
            services.AddSingleton<IKeyRepository,KeyRepository>(); //无接口的时候进行类的注入:services.AddSingleton<KeyRepository>();
        return services;    }

5.在Startup中调用扩展方法进行依赖注入  

public void ConfigureServices(IServiceCollection services)
{             services.GetKeyString(Configuration.GetSection("KeyStrings")); 
}

6.现在通过IkeyRepository的MyKeyStrings就能访问到配置文件中配置节点的信息  

  

时间: 2024-08-06 16:05:38

.net core 学习笔记(5)-配置文件读取的相关文章

cocos2d-x学习笔记——Csv文件读取工具

在一个游戏中,通常会有很多怪物,以及怪物的生命值,魔法值等属性数据,这些数据不可能在代码里面写死,一般都会用配置文件来保存,使用时再加载到内存. 我们常用的配置文件是CSV文件,即逗号分隔值(Comma-Separated Values),如下图所示. 今天,我就来介绍一个来读取CSV文件的工具类--MyCsvUtil. 在接受读取CSV文件工具类之前,先介绍一个读取字符串的工具类--StringUtil. //头文件StringUtil.h #ifndef __StringUtil_H_ #d

Java Core 学习笔记——3.char/Unicode/代码点/代码单元

通用字符集(UCS) UCS是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所制定的标准字符集. UCS包括了其他所有的字符集(包含了已知语言的所以字符). ISO/IEC 10646定义了一个31位的字符集(首位恒定为0,占用4字节). Unicode(万国码.国际码.统一码.单一码) 编码方式: Unicode编码空间从“U+0000”到“U+10FFFF”(共1112064个码位),Unicode的编码空间划为17个平面,每个平面包含216(65536)个码位.17

php学习笔记--高级教程--读取文件、创建文件、写入文件

打开文件:fopen:fopen(filename,mode);//fopen("test.txt","r"): 打开模式:r  仅仅读方式打开,将文件指针指向文件头 r+  读写方式打开,将文件指针指向文件头 w  写入方式,指向文件头,假设不存在则尝试创建 w+ 读写方式,指向文件头,假设不存在则尝试创建 a  写入方式打开,指向文件末尾,假设不存在则尝试创建 a+ 读写方式打开,指向文件末尾,假设不存在则尝试创建 读取文件:fread:fread(); rea

.net core学习笔记(三)-依赖注入

.net core 中使用了大量的依赖注入,对依赖注入一直是一知半解,总想不透,项目中用的是一个网上的开源框架,从底层到web层都是用的构造函数依赖注入. 然后了在继承ActionFilterAttribute的过滤器中,重写的OnActionExecuted需要用到依赖注入的服务,然后就想在子类中的构造函数中进行依赖注入,但是发现OnActionExecuted执行前根本不会进入到子类的构造函数中,查了下资料,发现时因为OnActionExecuted会在其父类的构造函数执行时触发,突然就懵了

.net core 学习笔记(1)-分页控件的使用

最近有个小项目,用.net core开发练练手,碰到的第一个问题就是分页控件的问题,自己写太费时间,上网查了下,发现有人已经封装好了的,就拿过来用了,分页控件github:https://github.com/sgjsakura/AspNetCore/blob/master/PagerDemo.md 使用方法也很简单 后台代码如下:期中list是数据返回的数据,pagesize是每页的数量,page是当前页数,totalcount-总条数,pagenum-总页数 var model= new P

Asp.net core 学习笔记 ( upload/download files 文件上传与下载 )

2017-09-25 refer : https://docs.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads https://www.codeproject.com/Articles/1203408/Upload-Download-Files-in-ASP-NET-Core 这里只说说小文件上传. 先看看前端 js 代码 <input id="inputFile" type="file" /&g

.Net Core 学习笔记1&mdash;&mdash;包、元包、框架

.Net Core 是由NuGet包(package)组成的平台. 一起使用的多个包的集合:元包(Metapackage) package 包 (对应以前的程序集概念) Framework 框架 assembly 程序集 重要的NuGet包: System.Runtime 基础包 System.Collections 泛型集合 System.Net.Http 用于HTTP网络通信 System.IO.FileSystem 读写磁盘 System.Linq 查询对象 System.Reflecti

.NET Core 学习笔记2&mdash;&mdash;管理nuget包

.NET Core 基于Nuget包.它是一个.nupkg后缀的zip文件. 工具 dotnet 工具 vs2017 的程序包管理控台 这两个工具都可以用命令行来下载安装,更新,上传包(上传要先在网站注册账号):也可以用vs里面的UI工具管理. 项目文件控制包 项目文件(.csproj后缀)是一个xml文件,描述了引用包的关系,很多时候需要手工编辑这个来达到高级目标. <ItemGroup> <!-- ... --> <PackageReference Include=&qu

.net Core学习笔记2 实现列表的条件筛选,排序,分页

打开vs,完善上次"简单粗暴"的项目 发现上次的实体类的导航属性有点问题,这是更改后的 namespace ProductMvc.Models { public class ProductType { public int ID { get; set; } public string TypeName { get; set; } public ICollection<Product> product { get; set; }//一种类型可能有多个商品,所以是集合 } }