您现在的位置是:网站首页> 编程资料编程资料
Asp.Net Core轻松学习系列之配置文件_实用技巧_
2023-05-24
398人已围观
简介 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": "http://0.0.0.0:12006;http://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() .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地址:https://github.com/lianggx/mystaging
文中如有疏漏之处,欢迎指正。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
- ASP.NET CORE读取json格式配置文件
- ASP.NET Core读取配置文件
- ASP.NET Core应用程序配置文件AppSetting.json
- ASP.NET Core根据环境变量支持多个 appsettings.json配置文件
- ASP.NET Core中修改配置文件后自动加载新配置的方法详解
- asp.net core配置文件加载过程的深入了解
- Asp.net Core与类库读取配置文件信息的方法
- 如何在ASP.NET Core类库项目中读取配置文件详解
- ASP.NET core Web中使用appsettings.json配置文件的方法
- 详解ASP.NET Core 在 JSON 文件中配置依赖注入
- ASP.NET Core配置文件的获取和设置
相关内容
- ASP.NET 页生命周期概述(小结)_实用技巧_
- 详解ASP.NET Core WebApi 返回统一格式参数_实用技巧_
- 利用Builder方式创建对象示例代码_实用技巧_
- visual Studio 2017创建简单控制台程序_实用技巧_
- 详解Asp.Net母版页元素ID不一致的体现_实用技巧_
- asp.net 仿微信端菜单设置实例代码详解_实用技巧_
- 如何解决asp.net负载均衡时Session共享的问题_实用技巧_
- Json.net日期格式化设置方式_实用技巧_
- Asp.Net套用母版页后元素ID不一致(个人总结)_实用技巧_
- ASP.NET 4.0配置文件中的ClientIDMode属性详解_实用技巧_
