
JS
在ASP.NET Core 2.0中,appSettings.JSon是一个非常常用的配置文件。它允许我们将应用程序的配置信息以键值对的形式存储在一个JSON文件中。然而,在某些情况下,我们可能会遇到一个问题,就是自定义键在appSettings.JSon中不起作用。本文将探讨这个问题,并提供解决方案。
首先,让我们来看一个例子。假设我们有一个名为"appSettings.JSon"的配置文件,内容如下:JSon{ "ConnectionStrings": { "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true" }, "CustomSettings": { "Key1": "Value1", "Key2": "Value2" }}我们可以使用以下代码来读取这些配置:csharpusing Microsoft.Extensions.Configuration;var config = new ConfigurationBuilder() .SetBasePath(Directory.GetcurrentDirectory()) .AddJSonFile("appSettings.JSon") .Build();var connectionString = config.GetconnectionString("DefaultConnection");var customSetting1 = config.GetValue<string>("CustomSettings:Key1");var customSetting2 = config.GetValue<string>("CustomSettings:Key2");在这个例子中,我们试图通过config.GetconnectionString方法和config.GetValue方法读取配置文件中的值。然而,有时我们会发现自定义键在这些方法中不起作用,返回的值为空。造成这个问题的原因是,ASP.NET Core 2.0只会加载配置文件中的一级键。也就是说,只有一级键会被添加到配置中心,而深层次的嵌套键将被忽略。这就是为什么我们无法直接通过config.GetValue("CustomSettings:Key1") 来获取值。为了解决这个问题,我们可以使用Configuration.GetSection方法来获取一个配置节。然后,我们可以使用Get方法将配置节绑定到一个对象上,从而获取我们想要的值。让我们修改上面的代码来解决这个问题:csharppublic class CustomSettings{ public string Key1 { get; set; } public string Key2 { get; set; }}var config = new ConfigurationBuilder() .SetBasePath(Directory.GetcurrentDirectory()) .AddJSonFile("appSettings.JSon") .Build();var connectionString = config.GetconnectionString("DefaultConnection");var customSettings = new CustomSettings();config.GetSection("CustomSettings").Bind(customSettings);var customSetting1 = customSettings.Key1;var customSetting2 = customSettings.Key2;在这个例子中,我们首先定义了一个名为CustomSettings的类,用于存储我们想要的配置值。然后,我们使用GetSection方法获取配置节,并使用Bind方法将配置节绑定到customSettings对象上。最后,我们可以通过customSettings.Key1和customSettings.Key2来获取我们想要的值。解决自定义键不起作用的问题通过上面的例子,我们成功地解决了自定义键不起作用的问题。我们可以使用GetSection和Bind方法来获取和绑定深层次的嵌套键。这种方法在ASP.NET Core 2.0中非常有效,并且可以帮助我们充分利用appSettings.JSon中的配置信息。在ASP.NET Core 2.0中,自定义键在appSettings.JSon中不起作用的问题可以通过使用GetSection和Bind方法来解决。我们可以将配置节绑定到一个对象上,从而获取我们想要的值。这种方法非常简单有效,可以帮助我们在应用程序中轻松地使用appSettings.JSon中的配置信息。Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号