码迷,mamicode.com
首页 > Web开发 > 详细

.net core2.0添加json文件并转化成类注入控制器使用

时间:2018-04-20 17:59:47      阅读:618      评论:0      收藏:0      [点我收藏+]

标签:png   提醒   art   加载   set   地方   http   文件夹   学生   

  上一篇,我们介绍了如何读取自定义的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文件并转化成类注入控制器使用

标签:png   提醒   art   加载   set   地方   http   文件夹   学生   

原文地址:https://www.cnblogs.com/ontheroute/p/8892014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!