.Net Core3.0 配置Configuration的实现
关于.NET Core 3.0配置系统的与实践
随着长沙网络推广的浪潮,我们迎来了新的技术革新。在.NET Core项目中,配置的加载和管理方式有了显著的变化。在.NET Core 3.0中,配置系统变得更加灵活和丰富,支持命令行、环境变量、内存中的.NET对象以及设置文件等多种方式。以前我们习惯将配置信息存放在webConfig或appConfig文件中,而现在有了新的选择。
在开始新的Asp.NET Core web应用程序开发时,系统默认会创建一个appsettings.json文件。这个文件的配置信息是在应用启动生成主机时通过调用CreateDefaultBuilder方法加载的。让我们深入理解一下这个过程。
我们需要确保本地安装的sdk版本与global.json中指定的版本一致。如果在打开源码项目时遇到类似“项目文件无法由项目系统打开,因为它缺少一些关键导入或找不到引用的SDK”的错误提示,这就是一个很好的开始检查点。
接下来,我们来看一下CreateDefaultBuilder方法的实现。这个方法首先使用UseContentRoot指定内容根目录,然后配置主机配置(HostConfiguration)。这里会添加环境变量和命令行参数。配置应用程序配置(AppConfiguration)。这个阶段会加载appsettings.json文件,以及其他相关的配置文件。
在appsettings.json文件中,我们可以定义各种配置信息,然后通过GetValue、GetSection和GetChildren等方法读取这些配置。这些方法的调用允许我们以灵活的方式获取配置值,并可以根据需要进行进一步的处理和操作。
除了appsettings.json文件,我们还可以使用环境特定的配置文件(如appsettings.Development.json和appsettings.Production.json)来覆盖或添加特定环境下的配置信息。这在开发环境和生产环境之间切换时非常有用。
我们还可以利用AddUserSecrets方法加载用户秘密作为配置源。这在开发过程中存储敏感信息(如数据库连接字符串)时非常有用,可以避免将这些信息直接存放在公共配置文件中。
.NET Core 3.0的配置系统提供了丰富的功能和灵活性,使我们能够更方便地管理和加载配置信息。无论你是初学者还是经验丰富的开发者,都可以通过学习和实践这个配置系统来提高你的技能水平并优化你的项目配置管理。 .NET Core 3.0 配置系统:解读 Configuration 的实现细节
当我们谈论 .NET Core 应用程序的配置时,我们经常会提及 `appsettings.json` 文件。这个文件是应用程序配置的中心位置,它允许我们存储应用程序的各种设置。本文将深入解读如何在 .NET Core 3.0 中实现配置管理,并介绍如何使用 `Configuration` 类来读取和绑定配置信息。
一、打开 `appsettings.json` 文件的世界
当我们打开 `appsettings.json` 文件时,我们会创建一个唯一的分层键来保存配置值。例如,日志级别的配置可能如下所示:
```json
Logging: {
LogLevel: {
Default: "Information",
System: "Information",
Microsoft: "Information",
Microsoft.Hosting.Lifetime: "Information"
}
}
```
在 C 代码中,我们可以使用 `IConfiguration` 接口的 `GetSection` 方法来获取特定的配置部分。然后,我们可以使用 `GetValue` 方法来获取具体的配置值。例如,获取日志级别的配置值并将其添加到 json 字符串中。
二、将 json 文件绑定到类
除了手动获取配置值外,我们还可以使用 `Bind` 方法将配置部分绑定到强类型的类上。例如,我们有一个包含 RabbitMQ 配置的 `AAAppSettings.json` 文件:
```json
{
"AA": {
"RabbitMqHostUrl": "rabbitmq://localhost:5672",
"RabbitMqHostName": "localhost",
"RabbitMqUserName": "admin",
"RabbitMqPassword": "123"
}
}
```
我们可以创建一个与这个配置对应的类 `AAConfig`,然后使用 `Bind` 方法将配置绑定到这个类上。这样我们就可以通过访问类的属性来获取配置值。例如,获取 RabbitMQ 的主机 URL、主机名、用户名和密码等。这种方法大大简化了获取配置值的操作,提高了代码的可读性和可维护性。
三、运行输出和配置变化监测
原文章的内容仿佛一颗种子,蕴含着丰富的内涵和潜力。我的任务是将这颗种子培育成参天大树,使其繁茂生长,焕发新的生机。保持原文风格特点的我将注入更多的生命力和活力,让文章更加引人入胜。
文章开头,我运用生动的描绘,将读者的注意力迅速吸引过来。接着,通过丰富的细节描写和鲜活的对话,将文章的内容展现得淋漓尽致。我还注重情感的渲染,让文章充满感染力和共鸣。
编程语言
- .Net Core3.0 配置Configuration的实现
- 利用脚本自动安装SQLServer的实现步骤分析
- Node.js log4js日志管理详解
- JavaScript多态与封装实例分析
- 肖战结婚的时间了吗 公开婚姻状态如何
- 黑崎一护身世介绍:神秘的背景与不为人知的经
- SQL重复记录查询的几种方法
- JSP 防范SQL注入攻击分析
- 关于Sequelize连接查询时inlude中model和association的区
- PHP危险函数禁用深入详解
- 浅谈PHP值mysql操作类
- [JAVA]十四种Java开发工具点评
- php实现telnet功能示例
- 浅析使用BootStrap TreeView插件实现灵活配置快递模
- 盗墓笔记电视剧百度云
- vue.js实现数据库的JSON数据输出渲染到html页面功能