Asp.Net Core轻松学习系列之配置文件
 更新时间:2018年11月30日 08:33:28   作者:Ron.liang  

这篇文章主要给大家介绍了关于Asp.Net Core轻松学习系列之配置文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

在 .NET Core 项目中,配置文件有着举足轻重的地位;与.NetFramework 不同的是,.NET Core 的配置文件都以 .json 结尾,这表示一个标准的 json 格式的文件;一个标准的 Asp.Net Core MVC 项目,一定带着一个 appsettings.json 文件,该文件便是项目默认配置文件,这和基于 .NetFramework 创建的 Asp.Net Web Application (默认配置名称:App.config) 有着根本的不同,今天我们就学习如何添加自定义配置到文件中,并把该配置在程序中读取出来;然后再通过使用 host.json 这个配置文件使程序运行于多个端口。
下面话不多说了,来一起看看详细的介绍吧
1. appsettings.json 文件

1.1 appsettings.json 文件是一个标准的 json 结构的文件,这表示你只要按照 json 的结构写入该文件,无论什么内容,都能在程序中自动读取,当我们创建好 MVC 项目后,系统就自动帮我们创建好 appsettings.json 文件,其默认内容如下:

{
“Logging”: {
“LogLevel”: {
“Default”: “Warning”
}
},
“AllowedHosts”: “*”
}

1.2 下面我们加一个配置节点 “book”:”博客园精华文章选集”

{
“Logging”: {
“LogLevel”: {
“Default”: “Warning”
}
},
“AllowedHosts”: “*”,
“book”:”博客园精华文章选集”
}

1.3 在控制器 Controllers/HomeController.cs 中将该节点内容设置为网页标题输出,记得引用命名空间

using Microsoft.Extensions.Configuration;

在 Index 方法中加入参数 IConfiguration,如下

public IActionResult Index([FromServices]IConfiguration cfg)
{

return View();
}

1.4 输入命令 dotnet run 启动项目,结果如下,读取自定义配置成功
 

1.5 将配置文件节点转换为实体类
我们常常有这样的需求,在配置文件中做了一堆配置,但是又不想逐个读取,太麻烦,如果能转换为实体类就好了,其实 IConfiguration 就自带了该天赋,看下面的配置

{
“Logging”: {
“LogLevel”: {
“Default”: “Warning”
}
},
“AllowedHosts”: “*”,
“book”:”博客园精华文章选集”,
“customer”:{
“name”:”ron.liang”,

定义实体类

public class Customer{
public string Name { get; set; }
public string Gender{get;set;}
public string Job{get;set;}
}

转换为实体类,可以看到,已经转换成功,对象属性都已获得了值

另类方式使用 hosting.json 使程序运行于多个端口

2.1 定义 hosting.json 文件

在实际的开发中,程序运行必需定义清晰的端口,不能使用随机模式,这个时候,我们可以利用 hosting.json 文件来定义,无论程序发布到何处,永远以该文件定义的端口来运行,首先在项目根目录下创建一个 hosting.json 文件,并填入以下内容。

{
“server.urls”: “0.0.0.0:12006;0.0.0.0:12007”
}

2.2 修改 Program.cs 方法

public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
var hostConfiguration = new ConfigurationBuilder().AddJsonFile(“hosting.json”).Build();

return WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseConfiguration(hostConfiguration);
}

以上方法将刚才创建的 hosting.json 加入配置中,并指定程序启动使用该配置文件

2.2 删除 Properties 目录下的 launchSettings.json 文件

2.3 运行项目,可以看到,现在项目侦听端口 12006/12007

结语

通过本文,我们学习到了以下内容

1. 知道了appsettings.json 的作用,以及如何从配置文件中读取项目配置节点

2. 如何通过 IConfiguration 把配置节点转换为实体对象

3. 使用 hosting.json 使程序运行于多个自定义端口

努力为开源社区作贡献,推荐一个自己开发的基于 .netcore+pgsql 的快速开发脚手架,内置 ORM框架,github地址:github.com/lianggx/mystaging

文中如有疏漏之处,欢迎指正。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对华域联盟的支持。

您可能感兴趣的文章:ASP.NET core Web中使用appsettings.json配置文件的方法实现core文件自动生成配置文件的方法.NET Core 2.0迁移小技巧之web.config 配置文件示例详解.NET Core简单读取json配置文件如何在ASP.NET Core类库项目中读取配置文件详解.NET Core2.1如何获取自定义配置文件信息详解.NET Core读取配置文件方式详细总结Asp.net Core与类库读取配置文件信息的方法asp.net core配置文件加载过程的深入了解

asp.net
core
配置文件

相关文章
分享Visual Studio原生开发的10个调试技巧(2)这篇文章又为大家分享了Visual Studio原生开发的10个调试技巧,感兴趣的朋友可以参考一下 2015-11-11
ashx中使用session的方法(获取session值)ashx中获取session值的方法,大家参考使用吧 2013-12-12
ASP.NET服务器控件的生命周期分析这篇文章主要介绍了ASP.NET服务器控件的生命周期分析,较为详尽的讲述了asp.net服务器控件的运行原理与过程,有助于深入了解asp.net程序的运行原理,需要的朋友可以参考下 2014-11-11
RichTextBox 显示图片和word的代码RichTextBox 显示图片和word的代码,需要的朋友可以参考一下 2013-02-02
ASP.NET中JQuery+AJAX调用后台这篇文章主要介绍了ASP.NET中JQuery+AJAX调用后台的相关资料,需要的朋友可以参考下 2016-03-03
ASP.net中保持页面中滚动条状态的代码在ASP.Net页面中,每次回发都会造成页面回到顶部,那么怎样让它保持刷新页面前的位置上,使得页面提交后还在原来的位位置。 2011-06-06
使用Ajax更新ASP.Net MVC项目中的报表对象方法下面小编就为大家分享一篇使用Ajax更新ASP.Net MVC项目中的报表对象方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 2018-01-01
asp.net 初始化文本框的小例子这篇文章介绍了asp.net 初始化文本框的小例子,有需要的朋友可以参考一下,希望对你有所帮助 2013-07-07
.Net Core 2.2升级3.1的避坑指南(小结)这篇文章主要介绍了.Net Core 2.2升级3.1的避坑指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 2020-07-07
IIS7伪静态web.config配置的方法和规则本文主要介绍IIS7上配置伪静态的超简单的新方法,安装URLRewrite插件,配置web.config即可。 2016-04-04

最新评论

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。