使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之三(配置文件读取)
干了一天的活,还有点时间,给兄弟们写点东西吧。
大家有没有发现一个问题?那就是在.Net Core的MVC项目里面,没有.config文件了!!!同志们,没有config文件了啊,这样搞,我以后要做些灵活的配置,又不想动源代码,或者说我们的程序已经打包了,怎么办啊?!
呵呵呵,.Net Core给我们提供了一个叫appsettings.json的文件给我们这些受虐的群众,用于取代config文件,为什么要这么做我不懂,也不想懂。我只要知道怎么去用它就行了。
但是,怎么去用呢?因为我试了一下,淡的淡的淡的,ConfigurationManager.AppSettings和ConfigurationManager.ConnectionStrings这两个东西都不能用了。刚开始纠结了一段时间,后来查了半天资料也没有什么头绪就放弃了,想着回头抽空写个程序直接读文件去,我就不信我读不出你来了!!!后来因为巧合,发现了一个方法可以很方便的读取配置文件的内容,吼吼。
废话我就不说了,直接说怎么搞吧!
首先,我们在项目下随便找个地方新建一个类库文件,我给放在MyCMS.Web项目中的Models文件夹下了,取名叫MyConfig.cs。然后,我们在这个文件中新建一个名叫MyConfig的类,给它一些属性。效果如下:
然后,我们在appsettings.json中,也给加上一些相应的配置(属性字段必须和咱们前面定义的类属性保持一致),父名称也叫MyConfig,并给它的属性赋上一些值,如下:
好了,准备工作完成,接下来,我们打开Startup.cs文件,添加MyCMS.Web.Models的引用,然后在ConfigureServices方法中加入一段代码:
在控制终端里面输入命令dotnet build MyCMS.Web,先编译一下看看是不是成功——还好,一切正常。
看到了吧?我们看起来好像是闭着眼睛干了一些我们也不知道结果是啥的事,因为service.Configure这个东西,从英文介绍上看,好像是说把配置信息注册进寄存器中了。然后,我们怎么去读它出来呢?在哪读它呢?哈哈,在哪读?当然是在控制器里面了……因为业务操作的入口其实就是控制器,从控制器这里得到了东西后,接下来的事就可以任由你发挥了啊。
我们打开HomeController这个控制器,声明一个MyConfig的对象并增加一个带IOptions参数的构造函数,并在构造函数中对前面生成的MyConfig对象赋值,效果如下:
接下来你就可以拿着这个myConfig对象去任意去潇洒了——这里面实际上是有一个反序列化的过程,将JSON转换成了对象,并给对象的属性赋值了。也不管了,先用着吧,回头用得多了,你和我也就知道为什么要这么用了。能用就好,不是吗?
接下来我们来看看运行效果,先打上个断点,然后用劲你浑身的力气使劲摁下F5,启动调试。下图,效果:
(PS:有的同学可能在VS Code里面跑不起来,会报那个 未能找到类型或命名空间名“IOptions<>”(是否缺少 using 指令或程序集引用?) 的错误,这个时候……哈哈,看到上边我加的那个没?
好了,不管三七二十一,摁下F5,好啦!!!一切正常!!!
转载于:https://www.cnblogs.com/paluano/p/7607926.html
使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之三(配置文件读取)相关推荐
- 使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之一
好吧,现在我们假设你已经安装好了VS Code开发工具..Net Core 2.0预览版的SDK dotnet-sdk-2.0.0(注意自己的操作系统),并且已经为VS Code安装好了C#扩展(在V ...
- ASP.NET Core 2.0 MVC项目实战
一.前言 毕业后入职现在的公司快有一个月了,公司主要的产品用的是C/S架构,再加上自己现在还在学习维护很老的delphi项目,还是有很多不情愿的.之前实习时主要是做.NET的B/S架构的项目,主要还 ...
- ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现
from:https://damienbod.com/2015/12/13/asp-net-5-mvc-6-api-documentation-using-swagger/ 代码生成工具: https ...
- Asp.Net Core 6.0 Mvc入门 图书查询系统 附带源码下载
Asp.Net Core 6.0 MVC 入门 简介 目标 第一章 创建Asp.Net Core Web应用 第二章 从Model开始 第三章 Model之后皆基架 第四章 运行应用 第五章 数据搜索 ...
- ASP .NET Core Web MVC系列教程:使用ASP .NET Core创建MVC Web应用程序
本系列教程翻译自微软官方教程,官方教程地址:Get started with ASP.NET Core MVC | Microsoft Docs 本系列教程介绍了构建MVC Web应用程序的基础知识. ...
- 【实验手册】使用Visual Studio Code 开发.NET Core应用程序
.NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...
- 使用Visual Studio Code 开发.NET Core应用程序
开源和跨平台开发是Microsoft 的当前和将来至关重要的策略..NET Core已开源,同时开发了其他项来使用和支持新的跨平台策略..NET Core2.0 目前已经发布,是适用于针对 Web 和 ...
- .NET Core快速入门教程 4、使用VS Code开发.NET Core控制台应用程序
一.前言 为什么选择VS Code? VS Code 是一款跨平台的代码编辑器,想想他的哥哥VS,并是微软出品的宇宙第一IDE, 那作为VS的弟弟,VS Code 也不会差,毕竟微软出品.反正ken是 ...
- 使用VS Code 开发.NET Core 应用程序 部署到Linux 跨平台
前面讲解了VSCode开发调试 .NET Core.都只是在windows下运行. .NET Core真正的核心是跨平台,我们现在来了解学习 .NET Core 跨平台. 在windows 下开发.N ...
最新文章
- 双料状元收割神器来了!清华设立计算机金融双学士学位
- 使用Comet4j实现消息推送
- flex air openWithDefaultApplication 时出现Illegal ...
- windows 服务部署管理
- OpenCV修养(一)——引入
- selenium-行为链-ActionChains-0223
- 7-2 最大流 加强版 (20 分)
- 信息系统集成企业该具备的资质您有几个呢?
- JSON Editor Online
- 计算机论文中期报告进展情况,自动化毕业论文中期报告进展情况怎么写
- JAVA基础之Http协议
- 臀部肌群锻炼方法大全
- 软件测试自学怎么学?
- 企业微信微信社群运营该怎么做?
- DICOM医学影像协议
- 微信小程序如何将数据存储到服务器,微信小程序关于数据存储的一些坑
- MYSQL中AS(取别名)
- 电脑开不了机怎么办?如何解决?
- 树莓派家用NAS解决方案
- Android渲染优化之卡顿检测、统计fps
热门文章
- NHibernate初学体验记
- 栈和队列在python中的实现
- python 64位程序 打包用于32位系统_python分别打包出32位和64位应用程序
- 打印出两个set中差集_Java之两个Set集合的交集、差集和并集
- eclipse关闭mysql数据库,有关于用eclipse连接mysql数据库出现的问题以及解决办法
- class转java_[拒绝套路,纯干货]这一百多道 Java 基础问题你掌握了吗?
- java显示链表在jtable上输出_jtable的使用精华
- 计算机与plc链接通信协议,实现上位计算机与PLC的上位链接系统的通信设计
- 机器学习中的聚类算法(2):Mean Shift算法
- 小R SLAM机器人树莓派3b+ ROS kinetic 环境搭建笔记