ASP.Net Core MVC基础系列之获取配置信息

 更新时间:2022年02月13日 09:27:36   作者:丶亡我之心不死  
这篇文章介绍了ASP.Net Core MVC获取配置信息的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

这一节, 我们来讲解.Net Core 是怎么获取配置信息的.

.Net Core配置信息来源主要有以下几种

  • 1.appsettings.json文件
  • 2. User Secrets
  • 3. 环境变量
  • 4. 命令行参数
  • 5. 自定义XML等等

在我们上一节新建的项目中, 已经默认有appsettings.json文件了, 并且appsettings.json默认会加载到项目中来, 至于为什么会默认加载, 我们可以通过源码进行分析, VS2017反编译不好用, F12看不到完整的代码, 这里我使用ILSpy反编译了.

我们找到WebHost.CreateDefaultBuilder(args), 也就是CreateDefaultBuilder方法, 看到源码如下图

红框部分就是默认的加载appsettings.json文件, 细心的博友可能发现了后面还有个get_EnvironmentName, 这个就是获取当前环境变量, 加载不同的appsettings.json文件, 其实在项目新建好之后, 默认是有appsettings.json和appsettings.Development.json两个json文件的, 那么这样子, .Net Core默认就会把这个两个json配置都进行加载, 如果两个json文件有两个一样的配置, 后面加载的会覆盖前面加载的. 也可以理解为appsettings.json是全局配置,appsettings.Development.json是开发配置. 我们可以做个试验

我们新建的空MVC项目, 运行默认访问只会输出一句Hello World! , 这是代码默认的, 如图

现在我们把这个字符串配置到 json 文件中试试

打开appsettings.json, 添加一个配置, 如图

我配置了一个新的欢迎语, 然后去取这个值, 取值需要注入一个IConfiguration接口对象, 才能去获取配置信息, 我们在Startup类里面的Configure方法的参数进行注入, 注入之后进行取值, 修改默认输出的Hello World!, 代码如图

然后F5运行, 可以看到网页上输出Hello .Net Core, 没有问题. 那么接下来我们在appsettings.Development.json里面配置一个相同的配置项, 把值改一下, 如图

然后再F5运行项目, 网页就输出Hello .Net Core Development, 可见, .Net Core会根据当前项目环境, 进行加载json文件, 如果有一样的, 会覆盖appsettings.json里面的配置, 也可以理解为优先级的不同, 但是他并不是优先级的不同, 而是进行覆盖

我们还可以举个例子, 从控制台进行参数配置, 我们进入到项目目录, 运行 dotnet runWelcomeMsg="AAA", 然后访问http://localhost:5000/, 输出的就是AAA, 所以可以说, 命令行参数优先级是最高的

讲到这里, 相信对IConfiguration接口和配置信息获取使用已经掌握很大一部分了

到此这篇关于ASP.Net Core MVC基础系列之获取配置信息的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 一步步打造漂亮的新闻列表(无刷新分页、内容预览)第三章

    一步步打造漂亮的新闻列表(无刷新分页、内容预览)第三章

    前面两个章节我们将需求分析和概要设计简单介绍了,接下来是重点的编代码的阶段了(实现无刷新分页)。在编写代码之前,一定要有计划的去编写代码,不能一开始啥也不管就开始编代码,除非你特牛。
    2010-07-07
  • asp.net UpdaeProgress的简单用法

    asp.net UpdaeProgress的简单用法

    这个控件相比其他控件,属性少 使用简单,就先把这个控件的一般使用方法简单纪录下
    2008-10-10
  • ewebeditor在.net的使用方法

    ewebeditor在.net的使用方法

    ewebeditor在.net的使用方法...
    2006-11-11
  • 收藏的asp.net文件上传类源码

    收藏的asp.net文件上传类源码

    收藏的asp.net文件上传类源码...
    2007-03-03
  • .Net行为型设计模式之命令模式(Command)

    .Net行为型设计模式之命令模式(Command)

    这篇文章介绍了.Net行为型设计模式之命令模式(Command),文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • .NET正则表达式的最佳用法

    .NET正则表达式的最佳用法

    本文详细讲解了.NET正则表达式最佳用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • 为ABP框架添加基础集成服务

    为ABP框架添加基础集成服务

    这篇文章介绍了为ABP框架添加基础集成服务的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • ASP.NET中 TextBox 文本输入框控件的使用方法

    ASP.NET中 TextBox 文本输入框控件的使用方法

    TextBox 控件为用户提供了一种向 ASP.NET 网页中键入信息(包括文本、数字和日期)的方法。
    2016-04-04
  • ASP.NET Core中间件

    ASP.NET Core中间件

    这篇文章介绍了ASP.NET Core的中间件,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • .Net Core部署Docker容器

    .Net Core部署Docker容器

    这篇文章介绍了.Net Core部署Docker容器的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01

最新评论