.net core2.0添加json文件并转化成类注入控制器使用
2018-04-20 16:50
267 查看
上一篇,我们介绍了如何读取自定义的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文件并转化成类注入控制器使用 让js调试更简单—console
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
- ajax--将获取到的文件内的数据转化成json格式并使用---输入提示
- solr索引库添加新的索引,使用json文件或者xml文件的数据
- Spring中c3p0连接池的配置 及JdbcTemplate的使用 通过XML配置文件注入各种需要对象的操作 来完成数据库添加Add()方法
- 使用JSONObject将json文件转化成对象
- IOS Xib使用——为控制器添加Xib文件
- 使用svn命令行递归的添加文件
- asp.net中使用#include语法将文件添加到页面
- 使用C++把文件夹目录信息转化为XML文件
- 使用安全json parser防止json注入
- 如何通过使用注册项 (.reg) 文件添加、修改或删除注册表子项和值
- 此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或 ALTER AUTHORIZATION 语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。
- [原创]jPagerBar1.2发布-jquery分页插件(一个适合Ajax+JSON+jQuery环境使用的多功能页码栏插件)(Demo、源文件下载已更新)
- 将exe文件转化成lib,dll失败,只能使用折中办法
- 使用安全json parser防止json注入
- 使用MFC搜索当前目录下所存在的某种文件,将文件名(路径等)添加到下拉框中,返回文件个数,部分关键代码。。
- 页面加入_JS,CSS使用,#include添加文件,缓存页面,页面间传递汉字,IsPostBack控制页面的加载,自定义错语页面
- [Subversion]使用密碼文件认证,添加新用户
- 注入mssql后使用存储过程读写任意文件