上一篇,我们介绍了如何读取自定义的json文件,数据是读取出来了,只是处理的时候太麻烦,需要一遍一遍写,很枯燥.那么有没有很好的办法呢?经过钻研,办法有了.

  既然一个一个读取比较麻烦,那么可以把它放入一个类里面么?当然可以.这样直接注入这个类,让控制器去读取,那么就不需要每次加载它了,一次加载就可以在任何地方使用了.

  由于本文是接这上一篇文章的更新介绍,请先读取上一篇文章再浏览此篇文章

(1):在Models文件夹中添加类Class,并填写如下代码:

namespace CoreDemo.Models
{
public class Class
{
public int ClassNum { get; set; }
public string ClassName { get; set; }
public List<Student> Students { get; set; }
}
public class Student
{
public string name { get; set; }
public int age { get; set; }
}
}

(2):更新Startup.cs脚本,更新函数ConfigureServices:

 public void ConfigureServices(IServiceCollection services)
{
var classSetting = JsonConvert.DeserializeObject<Class>(File.ReadAllText("JsonFile/class.json"));
services.AddSingleton(classSetting);//全局注入
services.AddMvc();
}

(3):更新Home控制器,将配置类注入进来并使用:

 public class HomeController : Controller
{
private readonly Class _classSetting;
public HomeController(Class classSetting)
{
_classSetting = classSetting;
} public IActionResult Index()
{
return Content("班级编号="+ _classSetting.ClassNum + ",班级名称="+ _classSetting.ClassName + "\r"
+"学生名称="+ _classSetting.Students[0].name+",学生年纪="+ _classSetting.Students[0].age
);
}
}

(4):运行项目,查看运行结果,成功:

总结:如果将配置文件一个一个读取的话是可行的,只是太麻烦,如果其他地方也需要用到的话又需要再次加载读取,浪费开发效率与运行效率.直接以类的方式加载并注入,可以让它在每个地方运行,消耗最少,效率最高.

(提醒:如果代码中发现报错的情况是因为有些程序集没有引用,直接将鼠标移动到报错的地方然后就可以将程序集引用到项目中了)

.net core2.0添加json文件并转化成类注入控制器使用的更多相关文章

  1. .net core2.0添加json文件并转化成类注入控制器使用 让js调试更简单—console

    .net core2.0添加json文件并转化成类注入控制器使用 上一篇,我们介绍了如何读取自定义的json文件,数据是读取出来了,只是处理的时候太麻烦,需要一遍一遍写,很枯燥.那么有没有很好的办法呢 ...

  2. ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下

    ADO.NET   一.ADO.NET概要 ADO.NET是.NET框架中的重要组件,主要用于完成C#应用程序访问数据库 二.ADO.NET的组成 ①System.Data  → DataTable, ...

  3. matrix-gui-2.0 将javascript文件夹改成js文件夹

    /******************************************************************************** * matrix-gui-2.0 将 ...

  4. pycharm 打开json 文件 \2 自动成了转义字符

    打开json 文件 \2 自动成了转义字符 暂时只发现在( \2 ) \ 后面为数字的情况下会出现转义json 文件为是指:在pycharm 中新建 file 后缀为json的文件 如: 1234.j ...

  5. Win10系统下安装labelme,json文件批量转化

    一.安装环境:windows10,anaconda3,python3.6         由于框架maskrcnn需要json数据集,在没安装labelme环境和跑深度学习之前,我安装的是anacon ...

  6. Logstash-5.0同步.json文件到ElasticSearch-5.0配置文件

    logstash/conf/input-file.conf内容如下: input { file { #监听文件的路径. path => ["E:/data_json/*.json&qu ...

  7. Swift3.0添加桥接文件

    注意是在target下不是project !!!纠结了好久表示...... 都这里一直编译错误,找不到该桥接文件,这里也是纠结了好久......最后原因是不能使用下划线就可以了....<表示这是 ...

  8. JSON字符串如何转化成对象?

    解析 1.定义:是指将符合 JSON 语法规则的字符串转换成对象的过程. 2.不同的编程语言都提供了解析 JSON 字符串的方法,在这里主要讲解 JavaScript 中的解析方法.主要有三种: 1) ...

  9. eclipse项目中将普通文件夹转化成资源文件夹

    1.点选该文件夹 2.右键属性Properties 3.选择属性:Build Path 4.点选属性:Use as  Source Folder ......等待变成资源文件夹 参考更详细的: ecl ...

随机推荐

  1. MariaDB存储引擎

    MariaDB存储引擎 存储引擎就是指表的类型.数据库的存储引擎决定了表在计算机中的存储方式.存储引擎的概念是MariaDB的特点,而且是一种插入式的存储引擎概念.这决定了MariaDB数据库中的表可 ...

  2. xml解析之使用dom4j的api对xml文件进行CRUD(二)

    在使用dom4j的api对xml文件进行CRUD(一)见博客http://blog.csdn.net/qq_32059827/article/details/51524330的基础上,再对做一次练习. ...

  3. CCDrawNode类的引用

    CCDrawNode Class Reference Inherits from CCNode : CCResponder : NSObject Declared in CCDrawNode.h 总览 ...

  4. Cracking the Coding Interview:: 寻找有环链表的环路起始节点

    给定一个有环链表,实现一个算法返回环路的开头节点. 这个问题是由经典面试题-检测链表是否存在环路演变而来.这个问题也是编程之美的判断两个链表是否相交的扩展问题. 首先回顾一下编程之美的问题. 由于如果 ...

  5. 小强的HTML5移动开发之路(5)——制作一个漂亮的视频播放器

    来自:http://blog.csdn.net/dawanganban/article/details/17679069 在前面几篇文章中介绍了HTML5的特点和需要掌握的基础知识,下面我们开始真正的 ...

  6. Unity UGUI实现图文混排

    目前在unity实现图文混排的好像都是通过自定义字体然后在文本获取字符的位置,用图片替换掉图片标签,这样对于支持英文来说,并没有什么影响.然后对于中文来说就是一个相当麻烦的事了,毕竟图文混排多用于游戏 ...

  7. tomcat整合apache

    历时4个多小时,终于把tomcat与apache整合起来了. 中间出了各种各样的问题,现记录一下,也希望能对后来者有点帮助. 背景 apache与tomcat的区别联系大家都知道: tomcat能处理 ...

  8. ARC时代的内存管理

    什么是ARC Automatic Reference Counting (ARC) is a compiler feature that provides automatic memory manag ...

  9. 超过1个G免费资源,16套质量超高风格多样的移动UIKIT

    编者按:前两天发了一篇价值4000元的收费可商用Web 模版,今天来一波同样高质量的的App UI KIT,包括音乐/餐厅/运动等等类型的App,无论是下载来学习还是商用(对的可商用!)都不容错过,@ ...

  10. 【Android 应用开发】BluetoothServerSocket详解

    一. BluetoorhServerSocket简介 1. 继承关系 public final class BluetoothServerSocket extends Object implement ...