asp.net core轻松入门之MVC中Options读取配置文件
来源:互联网 发布:增加淘宝店铺流量 编辑:程序博客网 时间:2024/06/05 10:27
接上一篇中讲到利用Bind方法读取配置文件
ASP.NET Core轻松入门Bind读取配置文件到C#实例
那么在这篇文章中,我将在上一篇文章的基础上,利用Options方法读取配置文件
首先注册MVC服务并添加MVC路由
注册MVC的方法是在ConfigureServices中添加
services.AddMvc();
添加MVC路由的方法是在Configure中添加
app.UseMvcWithDefaultRoute();
然后在项目中添加Controllers文件夹和Views文件夹,然后在Controllers文件夹中添加home控制器 ,方法是在该文件加有几-》添加-》控制器
选择MVC控制器,并给该控制器命名为HomeControllers 控制器是必须以Controllers结尾的
然后选中控制器中的Index方法 右键菜单,选择添加视图,不要勾选,使用模板页,因为我们是一个空项目,没有模板的
加入视图后,回到home控制器,添加Class实例并利用HomeController的构造函数给该实例赋值,注意,就是在此处使用到了Options方法
private Class myClass; public HomeController(IOptions<Class> myClass) { this.myClass = myClass.Value; }然后修改Index方法,将myClass实例传递给视图。
public IActionResult Index() { return View(myClass); }
回到Index视图中,在文件的顶部指定model的类型为 Class类型,然后利用html代码进行输出。
@model BindReader.Class@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" /> <title>Index</title></head><h2>@Model.Name</h2>@foreach (var item in Model.Items){ <div> <h2>@item.Language</h2> <h2>@item.Tool</h2> </div>}<body></body></html>
最后,回到StartUp.cs 进行Class的依赖注入,注入的方法是在ConfigureServices添加以下代码,因为系统会自动读取appsettings.json中的信息,其内的具体内容在上一文章中有介绍。
services.Configure<Class>(Configuration);
最后,我们需要吧Configure中的app.Run方法进行注释,因为该方法会阻塞管道,影响mvc的正常工作。
最后,可以运行查看效果了。
其实还有不需要在home控制器中利用构造函数引入myClass的方法,我们可以直接在利用Options方法读取Class信息,需要将home控制器中构造函数中的代码注释,删除Index 方法中Return View(myClass)的myClass 因为此时myClass是空的。
然后Index控制器中修改后的代码如下:
@using BindReader@using Microsoft.Extensions.Options@inject IOptions<Class> classAccess@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" /> <title>Index</title></head><h2>@classAccess.Value.Name</h2>@foreach (var item in classAccess.Value.Items){ <div> <h2>@item.Language</h2> <h2>@item.Tool</h2> </div>}<body></body></html>
项目的完整代码GitHub地址:https://github.com/liuzhenyulive/BindReader
有任何疑问可以在文章下方评论留言。
阅读全文
0 0
- asp.net core轻松入门之MVC中Options读取配置文件
- ASP.NET CORE入门之读取Json配置文件
- ASP.NET Core轻松入门Bind读取配置文件到C#实例
- Asp.Net Core轻松入门之WebHost的配置
- ASP.NET Core轻松入门之Middleware管道模型
- ASP.NET Core轻松入门之Configure中IHostingEnvironment和IApplicationLifetime的使用
- asp.net core 读取Appsettings.json 配置文件
- ASP.NET Core 源码学习之 Options[4]:IOptionsMonitor
- ASP.NET Core 源码学习之 Options[3]:IOptionsSnapshot
- ASP.NET Core 源码学习之 Options[2]:IOptions
- ASP.NET Core 源码学习之 Options[1]:Configure
- ASP.NET Core实现类库项目读取配置文件
- asp.net core源码飘香:Options组件
- .net core 2.0 读取配置文件
- ASP.NET MVC 配置文件
- Visaul Studio ASP.NET Core MVC入门(一)
- ASP.NET Core MVC 与 Visual Studio 入门
- ASP.NET Core MVC 和 Visual Studio入门 (一)安装Visual Studio和.NET Core
- 周立功:“芯片—终端—云”生态系统
- 如何在eclipse安装Pydev插件及测试、如何在eclipse安装Anaconda编译器---步骤
- Angular5中调用第三方js插件
- 第十周 项目2
- mako模板+django+分页
- asp.net core轻松入门之MVC中Options读取配置文件
- Android 性能优化--快、稳、省、小
- Python xml解析
- 【vue】如何在mac上使用npm安装vue和安装问题处理
- 实训第二天的代码优化
- CodeForces
- 10.springboot使用apidoc生成pai
- 【操作系统】计算机中内存、cache和寄存器之间的关系及区别
- 全志R16平台的tinav2.1的系统和parrot v1.1的内核的合成(分色排版)V1.0