Nullfehler erhalten beim Lesen der Konfiguration von AppStings.json im ASP.NET COREC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Nullfehler erhalten beim Lesen der Konfiguration von AppStings.json im ASP.NET CORE

Post by Anonymous »

Ich habe eine einfache ASP.NET Core 6 MVC -Anwendung erstellt, in der ich nur Werte aus der AppSettings.json Datei lese. Ich habe zwei Abschnitte abschnitts und AbschnittB :
erstellt

Code: Select all

{
"SectionA": {
"SectionASubItem1": "test value",
"SectionASubItem2": "test value2"
},
"SectionB": {
"SectionBSubItem1": "test value",
"SectionBSubItem2": "test value2"
}
}
Ich habe auch eine Klasse erstellt, um diesen Wert mit den Klasseneigenschaften zuzuordnen:
So sieht meine MyConfiguration Klasse aus:

Code: Select all

public class MyConfiguration
{
public SectionA SectionA { get; set; }
public SectionB SectionB { get; set; }
}

public class SectionA
{
public string SectionASubItem1 { get; set; }
public string SectionASubItem2 { get; set; }
}

public class SectionB
{
public string SectionBSubItem1 { get; set; }
public string SectionBSubItem2 { get; set; }
}
im Programm.cs Klasse Ich habe einen variablen Typ von iconfigurationroot erstellt, in dem ich die JSON -Dateieigenschaften speichere:

Code: Select all

var myConfiguration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.Build();
< /code>
und Zuordnung des Abschnitts wie folgt: < /p>
builder.Services.Configure(myConfiguration.GetSection("SectionA"));
builder.Services.Configure(myConfiguration.GetSection("SectionB"));
Das Problem ist, wenn ich den Abschnitt und den Abschnitt in dem Controller lese, den ich null erhalte. Aus diesem Grund erhalte ich keine Werte aus der JSON -Datei. < /P>

Code: Select all

public readonly MyConfiguration configuration;

public WeatherForecastController()
{
configuration = new MyConfiguration();
}

[HttpGet(Name = "GetWeatherForecast")]
public IActionResult Get()
{
// Here I am getting null
var sectionA = configuration.SectionA;

if (sectionA == null)
return BadRequest();

return Ok();
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post