.net core2.0添加json文件并转化成类注入控制器使用
Posted 梁身定做
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net core2.0添加json文件并转化成类注入控制器使用相关的知识,希望对你有一定的参考价值。
上一篇,我们介绍了如何读取自定义的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文件并转化成类注入控制器使用的主要内容,如果未能解决你的问题,请参考以下文章
创建一个 ASP.NET Core2.0 应用,并搭建 MVC 框架
在.net core 的webapi项目中将对象序列化成json
asp.net core1.x/asp.net core2.0中如何加载多个配置文件
net core体系-web应用程序-4asp.net core2.0 项目实战-5项目数据库操作封装操作
用VSCode开发一个asp.net core2.0+angular5项目: Angular5+asp.net core 2.0 web api文件上传