ASP.NET Core中如何使用Configuration包进行详细配置设置?

2026-04-30 04:576阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计754个文字,预计阅读时间需要4分钟。

ASP.NET Core中如何使用Configuration包进行详细配置设置?

ASP.NET Core 提供了 Configuration 包,用于应用配置基于配置提供程序的键值对。以下以 json 文件配置为例,简要介绍其用法。

首先定义一个配置文件 appsettings.json:

json{ ConnectionStrings: { DefaultConnection: Server=(localdb)\\mssqllocaldb;Database=ExampleDB;Trusted_Connection=True;MultipleActiveResultSets=true }, AppSettings: { SiteTitle: My Application }}

然后在代码中使用配置:

csharpvar configuration=new ConfigurationBuilder() .AddJsonFile(appsettings.json) .Build();

var connectionString=configuration[ConnectionStrings:DefaultConnection];var siteTitle=configuration[AppSettings:SiteTitle];

这样就可以通过配置文件来管理应用的配置信息了。

ASP.NET Core 中提供了一个Configuration包,用以应用配置基于配置提供程序建立的键值对。这里以json文件配置的方式,简单的介绍一下它的用法。

首先定义一个配置文件appsettings.json:

{ "key1": "value1", "key2": -1, "subsection": { "key1": "value2", "key2": -5 } }

如下是基本的用法:

var configBuilder = new ConfigurationBuilder().AddJsonFile("appsettings.json"); var config = configBuilder.Build(); var value1 = config.GetValue<string>("key1"); var value2 = config.GetValue<int>("key2");

.net core将配置操作分布在ConfigurationBuilder和IConfigurationRoot两个对象了,其中ConfigurationBuilder用来配置数据源,IConfigurationRoot则提供统一的读取操作。

数据源:

配置提供程序将配置数据从各种配置源读取到键值对,它支持的配置方式比较多,常见的就有:

ASP.NET Core中如何使用Configuration包进行详细配置设置?

  • 命令行参数

  • 环境变量

  • 内存中的 .NET 对象

  • 设置文件(Ini、 xm、,Json)

  • 自定义提供程序

基本上常用的配置数据源都支持了,支持多数据源配置,也支持自定义数据源,非常灵活而方便。具体的配置方式可以参考官方文档ASP.NET Core 中的配置。

CreateDefaultBuilder

为了简化配置,Asp.net core中提供了一个函数CreateDefaultBuilder隐式提供了对ConfigurationBuilder的调用,顺序提供了对如下配置文件的配置加载:

  • appsettings.json。

  • appsettings.{Environment}.json。

  • 应用在使用入口程序集的 Development 环境中运行时的机密管理器。

  • 环境变量。

  • 命令行参数

更多细节可以参考官方文档:设置主机

读取配置

前面的例子中演示了基本的读取方式:

var value1 = config.GetValue<string>("key1"); var value2 = config.GetValue<int>("key2");

除了这种方式外,也可以通过Bind方法按照对象的方式读取:

class ConfigData { public string Key1 { get; set; } public int Key2 { get; set; } } var cfgData = new ConfigData(); config.Bind(cfgData);

另外,对于子节点的配置,也可以通过GetSection函数定位到子节点,然后按照前面的方式读取,例如:

var value1 = config.GetSection("subsection").GetValue<string>("key1"); var cfgData = config.GetSection("subsection").Get<ConfigData>();

参考文章

ASP.NET Core 中的配置

到此这篇关于ASP.NET Core配置设置之Configuration包的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计754个文字,预计阅读时间需要4分钟。

ASP.NET Core中如何使用Configuration包进行详细配置设置?

ASP.NET Core 提供了 Configuration 包,用于应用配置基于配置提供程序的键值对。以下以 json 文件配置为例,简要介绍其用法。

首先定义一个配置文件 appsettings.json:

json{ ConnectionStrings: { DefaultConnection: Server=(localdb)\\mssqllocaldb;Database=ExampleDB;Trusted_Connection=True;MultipleActiveResultSets=true }, AppSettings: { SiteTitle: My Application }}

然后在代码中使用配置:

csharpvar configuration=new ConfigurationBuilder() .AddJsonFile(appsettings.json) .Build();

var connectionString=configuration[ConnectionStrings:DefaultConnection];var siteTitle=configuration[AppSettings:SiteTitle];

这样就可以通过配置文件来管理应用的配置信息了。

ASP.NET Core 中提供了一个Configuration包,用以应用配置基于配置提供程序建立的键值对。这里以json文件配置的方式,简单的介绍一下它的用法。

首先定义一个配置文件appsettings.json:

{ "key1": "value1", "key2": -1, "subsection": { "key1": "value2", "key2": -5 } }

如下是基本的用法:

var configBuilder = new ConfigurationBuilder().AddJsonFile("appsettings.json"); var config = configBuilder.Build(); var value1 = config.GetValue<string>("key1"); var value2 = config.GetValue<int>("key2");

.net core将配置操作分布在ConfigurationBuilder和IConfigurationRoot两个对象了,其中ConfigurationBuilder用来配置数据源,IConfigurationRoot则提供统一的读取操作。

数据源:

配置提供程序将配置数据从各种配置源读取到键值对,它支持的配置方式比较多,常见的就有:

ASP.NET Core中如何使用Configuration包进行详细配置设置?

  • 命令行参数

  • 环境变量

  • 内存中的 .NET 对象

  • 设置文件(Ini、 xm、,Json)

  • 自定义提供程序

基本上常用的配置数据源都支持了,支持多数据源配置,也支持自定义数据源,非常灵活而方便。具体的配置方式可以参考官方文档ASP.NET Core 中的配置。

CreateDefaultBuilder

为了简化配置,Asp.net core中提供了一个函数CreateDefaultBuilder隐式提供了对ConfigurationBuilder的调用,顺序提供了对如下配置文件的配置加载:

  • appsettings.json。

  • appsettings.{Environment}.json。

  • 应用在使用入口程序集的 Development 环境中运行时的机密管理器。

  • 环境变量。

  • 命令行参数

更多细节可以参考官方文档:设置主机

读取配置

前面的例子中演示了基本的读取方式:

var value1 = config.GetValue<string>("key1"); var value2 = config.GetValue<int>("key2");

除了这种方式外,也可以通过Bind方法按照对象的方式读取:

class ConfigData { public string Key1 { get; set; } public int Key2 { get; set; } } var cfgData = new ConfigData(); config.Bind(cfgData);

另外,对于子节点的配置,也可以通过GetSection函数定位到子节点,然后按照前面的方式读取,例如:

var value1 = config.GetSection("subsection").GetValue<string>("key1"); var cfgData = config.GetSection("subsection").Get<ConfigData>();

参考文章

ASP.NET Core 中的配置

到此这篇关于ASP.NET Core配置设置之Configuration包的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持易盾网络。