自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊ASP.NET Core 中的配置

開發(fā) 前端
ASP.NET Core 提供了一個(gè)靈活可擴(kuò)展,基于鍵值的配置系統(tǒng). 但是配置系統(tǒng)獨(dú)立于ASP.NET Core是Microsoft.Extensions 類庫(kù)的部分. 它可以用于任何類型的應(yīng)用程序。

 [[382124]]

本文轉(zhuǎn)載自微信公眾本文轉(zhuǎn)載自微信公眾號(hào)「UP技術(shù)控」,作者conan5566 。轉(zhuǎn)載本文請(qǐng)聯(lián)系UP技術(shù)控公眾號(hào)。

背景

ASP.NET Core 提供了一個(gè)靈活可擴(kuò)展,基于鍵值的配置系統(tǒng). 但是配置系統(tǒng)獨(dú)立于ASP.NET Core是Microsoft.Extensions 類庫(kù)的部分. 它可以用于任何類型的應(yīng)用程序。

1、以鍵-值對(duì)的形式讀取配置

  1.     "Position": { 
  2.         "Title""編輯器"
  3.         "Name""Joe Smith" 
  4.     }, 
  5.     "MyKey""My appsettings.json Value"
  6.     "Logging": { 
  7.         "LogLevel": { 
  8.             "Default""Information"
  9.             "Microsoft""Warning"
  10.             "Microsoft.Hosting.Lifetime""Information" 
  11.         } 
  12.     }, 
  13.     "AllowedHosts""*" 

在ConfigureServices方法里面添加如下測(cè)試代碼:

  1. var myKeyValue = Configuration["MyKey"]; 
  2.         var title = Configuration["Position:Title"]; 
  3.         var name = Configuration["Position:Name"]; 
  4.         var defaultLogLevel = Configuration["Logging:LogLevel:Default"]; 

2、多環(huán)境配置

使用默認(rèn)配置,EnvironmentVariablesConfigurationProvider 會(huì)在讀取 appsettings.json、appsettings.Environment.json 和機(jī)密管理器后從環(huán)境變量鍵值對(duì)加載配置 。 因此,從環(huán)境中讀取的鍵值會(huì)替代從 appsettings.json、appsettings.Environment.json 和機(jī)密管理器中讀取的值 。在 launchSettings.json 中設(shè)置的環(huán)境變量,在 launchSettings.json 中設(shè)置的環(huán)境變量將替代在系統(tǒng)環(huán)境中設(shè)置的變量。

3、讀取結(jié)構(gòu)化的配置數(shù)據(jù)

添加一個(gè)類 TestSubSectionConfig 對(duì)應(yīng)于配置文件中的 subsection 節(jié)點(diǎn)

  1. public class TestSubSectionConfig 
  2.     { 
  3.         public string SubOption1 { get; set; } 
  4.         public string SubOption2 { get; set; } 
  5.     } 

在ConfigureServices方法里面添加如下測(cè)試代碼:

  1. //使用GetSection解析配置文件的節(jié) 
  2. var subsectionOptions = Configuration.GetSection("subsection").Get<TestSubSectionConfig>(); 
  3. var suboption2 = subsectionOptions.SubOption2; 
  4.  
  5. Console.WriteLine($"subsection:suboption2: {suboption2}"); 

如果需要在Controller里面使用,可以通過(guò)依賴注入的方式:

在ConfigureServices里面注冊(cè)配置項(xiàng)。

  1. public void ConfigureServices(IServiceCollection services) 
  2.     //注冊(cè)配置到服務(wù)容器 
  3.     services.Configure<TestSubSectionConfig>(Configuration.GetSection("subsection")); 
  4.  
  5.     //var subsectionOptions = Configuration.GetSection("subsection").Get<TestSubSectionConfig>(); 
  6.     //services.Configure<TestSubSectionConfig>(options => 
  7.     //{ 
  8.     //    options.SubOption1 = subsectionOptions["suboption1"]; 
  9.     //    options.SubOption2 = subsectionOptions["suboption2"]; 
  10.     // }); 
  11.  
  1. public class HomeController : Controller 
  2.     private TestSubSectionConfig _subSectionConfig; 
  3.     private ILogger<HomeController> _logger;  
  4.  
  5.     public HomeController(IOptions<TestSubSectionConfig> option, ILogger<HomeController> logger) 
  6.     { 
  7.         _subSectionConfig = option.Value; 
  8.         _logger = logger; 
  9.     } 
  10.  
  11.     public IActionResult Index() 
  12.     { 
  13.         _logger.LogInformation($"SubOption1: {_subSectionConfig.SubOption1}"); 
  14.         _logger.LogInformation($"SubOption2: {_subSectionConfig.SubOption2}"); 
  15.         return View(); 
  16.     } 

 

責(zé)任編輯:武曉燕 來(lái)源: UP技術(shù)控
相關(guān)推薦

2024-10-21 07:15:08

2025-04-18 08:45:26

2009-07-20 17:27:01

配置ASP.NET

2024-06-11 09:00:00

異步編程代碼

2024-09-09 07:37:51

AspJWT權(quán)限

2018-08-20 08:03:46

跨平臺(tái) Web操作系統(tǒng)

2024-12-05 08:14:41

2025-01-15 00:01:00

開發(fā)應(yīng)用界面

2019-08-12 08:00:00

ASP.NetASP.Net Cor編程語(yǔ)言

2024-09-11 08:56:50

ASP多身份校驗(yàn)

2024-07-01 00:00:06

ASP.NET開源

2024-05-20 13:06:18

2021-03-04 11:10:29

容器化Docker虛擬機(jī)

2009-07-21 10:05:10

ASP.NET配置文件

2009-07-24 10:10:22

ASP.NET

2009-07-24 16:17:42

WebRequestEASP.NET

2024-09-10 08:13:16

Asp項(xiàng)目輕量級(jí)

2021-03-12 00:04:52

網(wǎng)關(guān)Api

2021-01-11 05:20:05

Controller代碼數(shù)據(jù)層

2021-01-05 07:51:06

版本化ASP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)