ASP.NET Core中的配置详解

2025-05-29 0 75

ASP.NET Core 提供了一个灵活可扩展,基于键值的配置系统. 但是配置系统独立于ASP.NET Core是Microsoft.Extensions 类库的部分. 它可以用于任何类型的应用程序

1、以键-值对的形式读取配置

appsettings.json 文件:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15
{

"Position": {

"Title": "编辑器",

"Name": "Joe Smith"

},

"MyKey": "My appsettings.json Value",

"Logging": {

"LogLevel": {

"Default": "Information",

"Microsoft": "Warning",

"Microsoft.Hosting.Lifetime": "Information"

}

},

"AllowedHosts": "*"

}

在ConfigureServices方法里面添加如下测试代码:

?

1

2

3

4
var myKeyValue = Configuration["MyKey"];

var id=\"codetool\">

2、多环境配置

使用默认配置,EnvironmentVariablesConfigurationProvider 会在读取 appsettings.json、appsettings.Environment.json 和机密管理器后从环境变量键值对加载配置 。 因此,从环境中读取的键值会替代从 appsettings.json、appsettings.Environment.json 和机密管理器中读取的值 。在 launchSettings.json 中设置的环境变量,在 launchSettings.json 中设置的环境变量将替代在系统环境中设置的变量。

3、读取结构化的配置数据

添加一个类 TestSubSectionConfig 对应于配置文件中的 subsection 节点

?

1

2

3

4

5
public class TestSubSectionConfig

{

public string SubOption1 { get; set; }

public string SubOption2 { get; set; }

}

在ConfigureServices方法里面添加如下测试代码:

?

1

2

3

4

5
//使用GetSection解析配置文件的节

var subsectionOptions = Configuration.GetSection("subsection").Get<TestSubSectionConfig>();

var suboption2 = subsectionOptions.SubOption2;

Console.WriteLine($"subsection:suboption2: {suboption2}");

如果需要在Controller里面使用,可以通过依赖注入的方式:

在ConfigureServices里面注册配置项。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32
public void ConfigureServices(IServiceCollection services)

{

//注册配置到服务容器

services.Configure<TestSubSectionConfig>(Configuration.GetSection("subsection"));

//var subsectionOptions = Configuration.GetSection("subsection").Get<TestSubSectionConfig>();

//services.Configure<TestSubSectionConfig>(options =>

//{

// options.SubOption1 = subsectionOptions["suboption1"];

// options.SubOption2 = subsectionOptions["suboption2"];

// });

}

public class HomeController : Controller

{

private TestSubSectionConfig _subSectionConfig;

private ILogger<HomeController> _logger;

public HomeController(IOptions<TestSubSectionConfig> option, ILogger<HomeController> logger)

{

_subSectionConfig = option.Value;

_logger = logger;

}

public IActionResult Index()

{

_logger.LogInformation($"SubOption1: {_subSectionConfig.SubOption1}");

_logger.LogInformation($"SubOption2: {_subSectionConfig.SubOption2}");

return View();

}

}

到此这篇关于ASP.NET Core中的配置详解的文章就介绍到这了,更多相关ASP.NET Core配置内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!

原文链接:https://juejin.cn/post/6925277053491249160

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

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

快网idc优惠网 建站教程 ASP.NET Core中的配置详解 https://www.kuaiidc.com/97014.html

相关文章

发表评论
暂无评论